擅长:python、mysql、java
<p>使用<code>re.sub</code>:</p>
<pre><code>replacements = {'the':'a',
'this':'that'}
def replace(match):
return replacements[match.group(0)]
# notice that the 'this' in 'thistle' is not matched
print re.sub('|'.join(r'\b%s\b' % re.escape(s) for s in replacements),
replace, 'the cat has this thistle.')
</code></pre>
<p>印刷品</p>
<pre><code>a cat has that thistle.
</code></pre>
<p><em>注意:</em></p>
<ul>
<li><p>所有要替换的字符串都连接成一个模式,因此
字符串只需循环一次。</p></li>
<li><p>源字符串被传递给<code>re.escape</code>以避免
将它们解释为正则表达式。</p></li>
<li><p>单词被<code>r'\b'</code>包围,以确保匹配是针对
只有整句话。</p></li>
<li><p>使用替换函数可以替换任何匹配项。</p></li>
</ul>