我正在尝试搜索所有出现的“Tom”后面没有出现“Thumb”。
我试图寻找
Tom ^((?!Thumb).)*$
但我仍然得到与汤姆拇指匹配的线条。
你没有说你正在使用什么风格的正则表达式,但这通常应该有效:
Tom(?!\s+Thumb)
如果您不是在寻找整个单词,您可以使用以下正则表达式:
Tom(?!.*Thumb)
如果在通缉匹配后有更多单词要检查,您可以使用
Tom(?!.*(?:Thumb|Finger|more words here))
Tom(?!.*Thumb)(?!.*Finger)(?!.*more words here)
要进行.
匹配换行符,请参阅如何在正则表达式中匹配多行中的任何字符?
如果您正在查找整个单词(即,只有在其右侧Tom
没有整个单词时才应匹配整个单词),请使用Thumb
\bTom\b(?!.*\bThumb\b)
注意:
\b
- 匹配前导/尾随单词边界(?!.*Thumb)
-如果后面有任何 0+ 个字符(取决于引擎,包括/不包括换行符),则匹配失败Thumb
。Tom(?!\s+Thumb)
是您搜索的内容。