擅长:python、mysql、java
<blockquote>
<p><code>re.sub(r'\bfoo\b', 'bar', s)</code></p>
</blockquote>
<p>这里,<code>\b</code>定义了一个单词字符(<code>\w</code>)和一个非单词字符之间的<a href="http://www.regular-expressions.info/wordboundaries.html" rel="noreferrer">the word boundaries</a>位置,这正是您在<code>sdfjoiweng%@$foo$fsoifjoi</code>字符串中为<code>foo</code>匹配的位置。对我有用:</p>
<pre><code>In [1]: import re
In [2]: s = 'sdfjoiweng%@$foo$fsoifjoi'
In [3]: re.sub(r'\bfoo\b', 'bar', s)
Out[3]: 'sdfjoiweng%@$bar$fsoifjoi'
</code></pre>