我正在尝试从一个可以匹配三种模式之一的字符串中提取数据集.我有一个已编译的正则表达列表.我想通过他们(按顺序)和第一场比赛.
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!!!'
Run Code Online (Sandbox Code Playgroud)
这应该工作(尚未测试),但它非常难看.有没有更好的方法来煮沸一个循环,当它成功时会中断,或者当它没有时会爆炸?
可能有一些re我不知道的特定内容,允许您测试多个模式.
您可以使用循环的else子句for:
for reg in regexes:
m = reg.match(name)
if m: break
else:
print 'ARGL NOTHING MATCHES THIS!!!'
Run Code Online (Sandbox Code Playgroud)