擅长:python、mysql、java
<p>如果您没有查找整个单词,可以使用以下正则表达式:</p>
<pre><code>Tom(?!.*Thumb)
</code></pre>
<p>如果在通缉赛后有更多的单词需要检查,您可以使用</p>
<pre><code>Tom(?!.*(?:Thumb|Finger|more words here))
Tom(?!.*Thumb)(?!.*Finger)(?!.*more words here)
</code></pre>
<p>要使<code>.</code>匹配换行符,请参阅<a href="https://stackoverflow.com/questions/159118">How do I match any character across multiple lines in a regular expression?</a></p>
<p>见<a href="https://regex101.com/r/vB4hJ1/1" rel="noreferrer">this regex demo</a></p>
<p>如果要查找整词(即,仅当右侧没有整词<code>Tom</code>时,才应匹配整词),请使用</p>
<pre><code>\bTom\b(?!.*\bThumb\b)
</code></pre>
<p>见<a href="https://regex101.com/r/vB4hJ1/2" rel="noreferrer">another regex demo</a></p>
<p>请注意:</p>
<ul>
<li><code>\b</code>-匹配前导/尾随单词边界</li>
<li><code>(?!.*Thumb)</code>-是一个<em>负前瞻</em>,如果有任何0+字符(取决于引擎,包括/不包括换行符)后跟<code>Thumb</code>,则匹配失败</李>
</ul>