擅长:python、mysql、java
<p>这听起来像是一个regex场景:</p>
<pre><code>import re
x = "The brown fox jumps over the dog named brownie."
newstring = re.sub(r"(\s+|[:punct:]+|^)brown(\s+|[:punct:]+|$)",r"\1deathlies\2",x, flags=re.IGNORECASE)
</code></pre>
<p>结果是:</p>
^{pr2}$
<p>或者:</p>
^{3}$
<p>结果是:</p>
<pre><code>>>> print newstring
People iume getting excited at the giant hare.
</code></pre>
<p>第一个捕获组<code>(\s+|[:punct:]+|^)</code>匹配字符串的空格、标点或开头,另一个组<code>(\s+|[:punct:]+|$)</code>匹配字符串的结尾。在</p>
<p>在进行替换时,<code>\1</code>和{<cd4>}将puncuation或空格放回被替换的文本,使内容整洁。在</p>
<p>PS公司</p>
<p>如果你很懒,只需让捕获组<code>(\W+|^)</code>和{<cd6>}。。。在</p>