Regular-Expression

在python中使用正則表達式進行多次替換

  • March 15, 2019

我可以在 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)

不,正則表達式本身並不能真正用於多個替換。

引用自:https://unix.stackexchange.com/questions/506534