擅长:python、mysql、java
<p>您正在寻找一种<em>捕获</em>机制,它允许您使用<em>反向引用</em>还原匹配和替换的零件。你知道吗</p>
<p>这是一个有效的正则表达式:</p>
<pre><code>([a-z]) ([(a-z])
</code></pre>
<p>替换是<code>\1 AND \2</code>,其中<code>\1</code>指向用<code>([a-z])</code>捕获的子串,<code>\2</code>引用用<code>([(a-z])</code>捕获的子文本。你知道吗</p>
<p>见<a href="https://regex101.com/r/gC8uZ8/2" rel="nofollow">regex demo</a></p>
<p><a href="https://ideone.com/0gNg8i" rel="nofollow">Python code</a>:</p>
<pre><code>import re
p = re.compile(r'([a-z]) ([(a-z])')
test_str = "abc def (ghi) OR jkl"
subst = r"\1 AND \2"
result = re.sub(p, subst, test_str)
print(result) # => abc AND def AND (ghi) OR jkl
</code></pre>