[英]Regex - Exclude pattern if a certain word appears after the desired word
我希望我的正则表达式匹配某个单词的外观,除非它后面跟着另一个特定的单词。
更具体地说,我希望它完全匹配"union"
(在联合或忠诚于一个群体的意义上,所以它不会包括像"reunion"
这样的词,即在字符串的开头和结尾有单词边界)情况下,除非字符串显示"union europea"
(这被理解为一个管理部门,并且不会以同样的方式吸引一个群体)。
使用模式union\b
没有帮助,因为它也会匹配上述句子。
您可以使用负前瞻:
pattern = 'union(?! europea)'
这种模式说“当且仅当它后面没有' europea'
(即,单个空格和欧洲)时才匹配联合。
利用
pattern = r'\bunion\b(?!\W*europea)'
(? \W*europea)
排除union
后跟非单词字符(如果有)然后是europea
字符串的匹配项。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.