正则表达式不应与其他前缀

时间:2015-07-08 07:46:06

标签: regex

如果我有这些话

  • 约翰= 14
  • 亚当= 21
  • 贲= 11
  • 约翰= 18
  • 约翰= 17
  • 约翰= 141
  • ...

,任务是查找john=14的所有出现 我提出了以下正则表达式:.*=[^14].*\n,它匹配每个字符串,在等号后面没有前导1 但是,我希望在此示例中仅与john=14完全匹配(以及此示例的排列)。如果有一个或多个john=14,则无关紧要。我考虑过对正则表达式的否定,这样我想找到的每个字符串都不等于我想要查找的字符串但是我对正则表达式有问题([^\bjohn\b=14]\n)。

任何帮助将不胜感激:)!

1 个答案:

答案 0 :(得分:1)

你需要使用否定前瞻。

^(?!john=14$).*

开始时的否定前瞻断言要匹配的字符串不会包含确切的john=14字符串。如果是,则匹配所有字符。

^(?!.*=14$).*