擅长:python、mysql、java
<p>虽然不是特别紧凑,但这里有一个使用regexp的相当简单的示例:函数<code>subst</code>将用单个字符替换重复的字符,然后使用<code>re.sub</code>为找到的每个单词调用该函数</p>
<p>这里假设,因为您的示例<code>keepWord</code>列表(第一次提到的地方)的标题大小写为<code>Hello</code>,而文本的小写字母为<code>hello</code>,所以您希望对列表执行不区分大小写的比较。因此,无论你的句子包含<code>Hello</code>还是<code>hello</code>,它都同样有效</p>
<pre><code>import re
sentence = 'hello, join this meeting heere using thiis lllink'
keepWord = ['Hello','meeting']
keepWord_s = set(word.lower() for word in keepWord)
def subst(match):
word = match.group(0)
return word if word.lower() in keepWord_s else re.sub(r'(.)\1+', r'\1', word)
print(re.sub(r'\b.+?\b', subst, sentence))
</code></pre>
<p>给出:</p>
<pre><code>hello, join this meeting here using this link
</code></pre>