我试图使用正则表达式捕获组和环顾四周来匹配序列中特定单词的所有实例,但前提是该单词不被&和;包围。符号(即,我不想从word
捕获&word;
,但是我从&word
或word;
捕获)。
我写了一个正则表达式,我认为它可以满足我的需要,但事实并非如此-看来我在if子句中使用的否定外观使仅第一组不匹配而不是整个匹配。
(&[^;&]*)?(amp)(?(1)(?!;))
在此字符串上使用:>amp; & amp & &<
时,由于环顾四周,我希望仅匹配第一,第三和第五安培,但是出乎意料的是,当它们与{{ 1}}。
https://regex101.com/r/ilAAVb/1
我在这里犯了一些明显的错误,还是if子句仅适用于该子句正在检查的组?
编辑:更正了我需要从句子中提取的内容。