繁体   English   中英

正则表达式 - 如果某个单词出现在所需单词之后,则排除模式

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM