Python 的 re 模塊提供了re.sub用於替換字符串中的匹配項
語法:
re.sub(pattern, repl, string, count=0, flags=0)
參數:
- pattern : 正則中的模式字符串。
- repl : 替換的字符串,也可為一個函數。
- string : 要被查找替換的原始字符串。
- count : 模式匹配后替換的最大次數,默認 0 表示替換所有的匹配。

1 # coding=utf-8 2 import re 3 import logging 4 5 # 刪掉 Python的注釋內容 6 s = '2020-8-13 14:20:24 # 這是一個時間' 7 8 logging.warning(re.sub(r'(#.*$)', '', s)) 9 10 # 刪掉 : 替換才能 - 11 s = '2020-8-13 14:20:24 # 這是一個時間' 12 13 logging.warning(re.sub(r'(:)', '-', s))
以上實例執行結果如下:
WARNING:root:2020-8-13 14:20:24 WARNING:root:2020-8-13 14-20-24 # 這是一個時間
repl 參數是一個函數
以下實例中將字符串中的匹配的數字乘以 2:

1 # coding=utf-8 2 import re 3 import logging 4 5 s = 'A1B2C55' 6 7 8 def double(res): 9 return str(int(res.group('value')) * 2) 10 11 12 logging.warning(re.sub('(?P<value>\d+)', double, s))
執行輸出結果為:
WARNING:root:A2B4C110