擅长:python、mysql、java
<p>只删除一个字母和两个字母的单词仍然会导致问题。“猫”仍将在“灾难”中被识别。这是一个三个字母的单词。这可能会失败的例子多得多</p>
<p>这就是为什么你需要检查整个单词,而不仅仅是子字符串</p>
<p>由于您将regex与“or”(<code>|</code>)一起使用,因此还可以使用regex单词边框<code>r'\b'</code>:</p>
<pre><code>pattern = r'\b' + r'\b|\b'.join(splitterm) + r'\b'
</code></pre>
<p>这个东西将使用整<code>r'\b|\b'</code>作为分隔符,并将<code>r'\b</code>添加到第一个单词的开头和最后一个单词的结尾</p>
<p>这里使用原始字符串(<code>r'...'</code>),因为它是正则表达式,我们使用的是正则表达式特殊字符<code>\b</code>,而不是转义序列</p>