for line in fileinput.input():
if re.search(pattern1, line):
line = re.sub(pattern1, repl1, line)
else:
line = re.sub(pattern2, repl2, line)
print(line, end="")
for line in fileinput.input():
line, n = re.subn(pattern1, repl1, line)
if not n:
line, n = re.sub(pattern2, repl2, line)
if not n:
line, n = re.sub(pattern3, repl3, line)
...
print(line, end="")
或者如果你有很多模式:
for line in fileinput.input():
for pattern in patterns:
line, n = re.subn(pattern, repl1, line)
if n:
break
print(line, end="")
您可以使用
re.search
预先检查pattern1是否存在,然后基于此做出决定:使用re.subn,它返回文本和所做的sub的数量
或者如果你有很多模式:
相关问题 更多 >
编程相关推荐