我有一个要在python中匹配的字符串数组。有没有办法不使用for循环就可以做到这一点?在
到目前为止,我看到的所有示例都类似于以下示例,您必须遍历每个元素以找到匹配项:
import re
patterns = [ 'this', 'that' ]
text = 'Does this text match the pattern?'
for pattern in patterns:
print 'Looking for "%s" in "%s" ->' % (pattern, text),
if re.search(pattern, text):
print 'found a match!'
else:
print 'no match'
在不使用for循环的情况下可以这样做吗
也许你在找这样的东西:
它使用^{} 和generator expression对
patterns
中的每个模式进行测试。另外一个额外的好处是,该解决方案使用懒惰求值,并且只测试所需的任意多个模式。在与for循环不完全相同,但用}匹配。在
|
连接模式。a|b
匹配如果a
或{如果要获得所有匹配项,请使用
^{pr2}$findall
,但这样就无法知道是哪个原始模式触发了匹配,因为它返回一个字符串列表。在你能用这样的while循环吗?在
相关问题 更多 >
编程相关推荐