我有一個串列,我只想要與正則運算式中的所有模式匹配的串列元素。我似乎無法弄清楚這一點,我是新手,感謝您的幫助。
生成的列印/串列應該只是“恐慌”的一個實體
import re
green = ['.a...', 'p....', '...i.']
wordlist = ['names', 'panic', 'again', '.a...']
for value in wordlist:
for pattern in green:
#print(value, pattern)
if re.match(pattern, value):
print(value)
#=>
names
panic
panic
panic
again
.a...
uj5u.com熱心網友回復:
這是您的代碼的一個小修改:
import re
green = ['.a...', 'p....', '...i.']
wordlist = ['names', 'panic', 'again', '.a...']
for value in wordlist:
for pattern in green:
if not re.match(pattern, value):
break
else:
print(value)
有關構造,請參閱此問題for/else。
不同的方法
hits = (v for v in wordlist if all(re.match(pattern, v) for pattern in green))
for h in hits:
print(h)
uj5u.com熱心網友回復:
我建議全部使用功能
import re
patterns = ("regex1", "regex2", "regex3")
wordlist = ("word1", "word2", "word3")
for word in wordlist:
if all(re.match(pattern, word) for pattern in patterns):
print(word)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/427088.html
上一篇:正則運算式修剪JSON中的字串
