我正在分析文件,我想检查每一行与几个复杂的regex。像这样的东西if re.match(regex1, line): do stuff
elif re.match(regex2, line): do other stuff
elif re.match(regex3, line): do still more stuff
...
当然,要做这些,我需要匹配对象。我只能想到三种可能性,每一种都留下一些需要的东西。if re.match(regex1, line):
m = re.match(regex1, line)
do stuff
elif re.match(regex2, line):
m = re.match(regex2, line)
do other stuff
...
这需要进行两次复杂的匹配(这是长文件和长regex:/)m = re.match(regex1, line)
if m: do stuff
else:
m = re.match(regex2, line)
if m: do other stuff
else:
...
我越陷越深,情况就越糟。while True:
m = re.match(regex1, line)
if m:
do stuff
break
m = re.match(regex2, line)
if m:
do other stuff
break
...
看起来很奇怪。
正确的方法是什么?