我可以在 python 中使用正则表达式来进行多种类型的替换吗?就像这个字符串“你好,这是我”一样,我想用“hi”替换“hello”,用“its”替换“this”。我可以用一行完成吗?或者我可以在正则表达式中使用反向引用吗?
答案1
不,不是真的,因为您需要调用re.sub()
并将字符串作为参数提供给它。你会得到丑陋的嵌套调用。相反,str.replace()
它作为字符串本身的方法并返回新字符串,因此您可以链接调用:
s='hello, this is me'
s=s.replace("hello", "hi").replace("this", "it's")
但是如果你有一个替换列表,你当然可以使用以下命令循环它们re.sub()
:
import re
s='hello, this is me'
replacements=[("hello", "hi"), ("this", "it's")]
for pat,repl in replacements:
s = re.sub(pat, repl, s)
不,正则表达式本身并不能真正用于多个替换。