擅长:python、mysql、java
<p>默认情况下,正则表达式是贪婪的。如果您使用的Python版本保证了键值对在字典中的插入顺序,并且插入键值对的方式是先插入较长的键值对,那么类似的方法应该适用于您-<code>re.sub</code>要么使用字符串替换匹配项,要么使用可调用的字符串(function/lambda/where),它接受当前匹配项作为参数,并且必须返回一个字符串以替换它:</p>
<pre><code>import re
lookup = {
"sch": "b",
"sh": "q",
"s": "d"
}
def replace(match):
return lookup[match.group()]
pattern = "|".join(lookup)
print(re.sub(pattern, replace, "schush swim"))
</code></pre>
<p>输出:</p>
<pre><code>buq dwim
>>>
</code></pre>