我正在尝试从可以匹配三种模式之一的字符串中提取数据集。我有一个已编译的正则表达式列表。我想(按顺序)遍历它们并进行第一场比赛。
regexes = [
compiled_regex_1,
compiled_regex_2,
compiled_regex_3,
]
m = None
for reg in regexes:
m = reg.match(name)
if m: break
if not m:
print 'ARGL NOTHING MATCHES THIS!!!'
这应该可以工作(还没有测试过)但是它很糟糕。有没有更好的方法来简化一个在成功时中断或在失败时爆炸的循环?
re
可能有一些我不知道的特定内容,它允许您也测试多个模式。
最佳答案
您可以使用 else for
循环的子句:
for reg in regexes:
m = reg.match(name)
if m: break
else:
print 'ARGL NOTHING MATCHES THIS!!!'
关于regex - 从一批正则表达式中获取第一个成功的匹配项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3642621/