如果你的正則表達式是相當簡單的,你可以只從幾個正則表達式創建一個脫節,並全部更換一次:
>>> text = "something with 0 and >"
>>> re.sub(r"ing|0|>", "ring", text)
'somethring with ring and ring'
或者,你可以使用一個循環,或者一個接一個地替換它們,但要確保替換前一個替換結果中的文本,而不是原文中的文本!
即使用你的僞代碼,它應該是這樣的:
r = re.compile(regex1)
r1 = r.sub(something, text)
re.compile(regex2)
r2 = r.sub(something, r1) # use r1 here
re.compile(regex3)
r3 = r.sub(something, r2) # and r2 here
或者只分配回到原來的text
變量:
for x in ["ing", "0", ">"]:
text = re.sub(x, "ring", text)
print text
(當然,你必須請務必替換ing
,然後用ring
替換其他內容,否則ring
中的ing
將被重新替換!)
一個例子會更好。 –
你想對你的字符串做什麼樣的改變?例如 – Kasramvd
替換以第一種情況結尾的單詞:與環結合,第二種情況2:用環替換0:情況3:用環替換>。我想說的三種情況可能會有所不同,但它被替換的是相同的 – ananymous59