首页 > 解决方案 > 正则表达式:负后瞻和负前瞻

问题描述

我想匹配单词gay,除非它是单词的一部分megayacht。我知道我可以使用负前瞻和负后瞻来排除gayachtmegay从匹配中排除,例如

(?<!me)gay

gay(?!acht)

但使用

(?<!me)gay(?!acht)

仍然会从比赛中排除megay和排除gayacht,这不是我想要的。我找不到同时要求两者的方法。

标签: regexregex-lookaroundsregex-negation

解决方案


您可以排除匹配megayacht并匹配包含的单词gay

\b(?!megayacht\b)\w*gay\w*

正则表达式演示


推荐阅读