Regular-Expression
在python中使用正則表達式進行多次替換
我可以在 python 中使用正則表達式來進行多種類型的替換嗎?就像在這個字元串“你好,這是我”中,我想用“hi”替換“hello”,用“its”替換“this”。我可以在一行中完成嗎?或者我可以在正則表達式中使用反向引用嗎?
不,不是真的,因為您需要呼叫
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)
不,正則表達式本身並不能真正用於多個替換。