Python:用于替换字典中的值的re模块

时间:2014-04-18 21:03:27

标签: python regex

我开始关注今天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等)时,我会坚持如何进行实际替换。谢谢你的帮助。

1 个答案:

答案 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