RegExp排除,查找一个单词后面没有另一个单词

2024-06-17 15:21:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图搜索所有出现的“Tom”后面没有“Thumb”的词

我一直在努力寻找

Tom ^((?!Thumb).)*$

但我还是能找到和汤姆·拇指相配的台词


Tags: 拇指tomthumb台词
3条回答

您不会说您使用的是什么风格的正则表达式,但一般来说应该是这样的:

 Tom(?!\s+Thumb)

如果您没有查找整个单词,可以使用以下正则表达式:

Tom(?!.*Thumb)

如果在通缉赛后有更多的单词需要检查,您可以使用

Tom(?!.*(?:Thumb|Finger|more words here))
Tom(?!.*Thumb)(?!.*Finger)(?!.*more words here)

要使.匹配换行符,请参阅How do I match any character across multiple lines in a regular expression?

this regex demo

如果要查找整词(即,仅当右侧没有整词Tom时,才应匹配整词),请使用

\bTom\b(?!.*\bThumb\b)

another regex demo

请注意:

  • \b-匹配前导/尾随单词边界
  • (?!.*Thumb)-是一个负前瞻,如果有任何0+字符(取决于引擎,包括/不包括换行符)后跟Thumb,则匹配失败

Tom(?!\s+Thumb)是您搜索的内容

相关问题 更多 >