擅长:python、mysql、java
<p>在您的示例中需要的两个替换重叠-在第一种情况下,<code>'t'</code>的两个实例之间的逗号将由<code>(.)</code>匹配,因此在第二种情况下,<code>([^'])</code>永远没有机会匹配它。这个稍加修改的版本可能有助于:</p>
<pre><code>line = re.sub(r"(?<!')'t'(?=.)", r"THIS_IS_TRUE", line)
</code></pre>
<p>此版本使用lookahead和lookbehind语法,如<a href="http://docs.python.org/library/re.html#regular-expression-syntax" rel="nofollow">here</a>所述。</p>