我开始关注今天Python中提供的方便的re
模块,并希望我可以获得re.sub
的帮助
我的档案:
avid "Av.Id
fated "fEIt.Id
leaded "lEd.Id
wicked "wIk.Id
我想要匹配"(v|t|d|k)\.Id"
,然后更改为"\.(v|t|d|k)Id"
,以便输出如下:
avid "A.vId
fated "fEI.tId
leaded "lE.dId
wicked "wI.kId
我可以将我的字符串与re.search
匹配得很好但是当我每次字母不同(v,t,d,k等)时,我会坚持如何进行实际替换。谢谢你的帮助。
答案 0 :(得分:1)
使用re.sub()
并使用(v|t|d|k)
语法引用已保存的群组\g<1>
:
import re
PATTERN = re.compile('(v|t|d|k)\.Id')
with open('input.txt') as f:
for line in f:
print PATTERN.sub(".\g<1>Id", line)
打印:
avid "A.vId
fated "fEI.tId
leaded "lE.dId
wicked "wI.kId