1
我知道,在Python中,你可以找到與查找正則表達式和一些處理後取代
re.sub('(b)','\\1BB','abc')
取代但是,你會如何繼續,如果你想要更多的處理,就像你得到一個單一的數字號碼,你將x添加到它?
我沒有問題的功能和切片做並粘貼原始字符串轉換成一個新的,有改變的正則表達式匹配模式,但什麼是這樣做的最簡單的方法?
我知道,在Python中,你可以找到與查找正則表達式和一些處理後取代
re.sub('(b)','\\1BB','abc')
取代但是,你會如何繼續,如果你想要更多的處理,就像你得到一個單一的數字號碼,你將x添加到它?
我沒有問題的功能和切片做並粘貼原始字符串轉換成一個新的,有改變的正則表達式匹配模式,但什麼是這樣做的最簡單的方法?
可以在re.sub調用一個函數,而不是一個簡單的替換字符串:
>>> re.sub('(\d+)',
... lambda x: ' {}+3={} '.format(x.group(1),int(x.group(1))+3),
... 'a12c')
'a 12+3=15 c'
或者,
def r(m):
return ' {}+{}={} '.format(m.group(1),m.group(2),
int(m.group(1))+int(m.group(2)))
>>> print re.sub('(\d)(\d)',r,'a12c')
'a 1+2=3 c'