我有一个小的python脚本循环遍历一堆文件,并在每个文件中应用一些正则表达式。我想添加一个确认步骤,其中显示旧文本和新文本。有没有有效的方法来做到这一点。现在,在一个字符串中,我正在进行.search
。,然后匹配文本中的.sub
,如果用户确认我在原始字符串中插入新文本(通过索引)。 / p>
答案 0 :(得分:4)
你可以使用带有回叫的re.sub来询问用户的确认:
http://docs.python.org/2/library/re.html#text-munging
text = 'This is a dummy dummy text'
def callback(m):
string = m.group()
subst = string.upper()
start = m.start()
question = 'subst {:s} at pos {:d}:'.format(string, start)
ans = raw_input(question)
if ans[0] in 'Yy':
return subst
else:
return string
print re.sub(r'\bdummy\b', callback, text)
打印
subst dummy at pos 10:n
subst dummy at pos 16:y
This is a dummy DUMMY text