我正在尝试在python中使用正则表达式搜索特定的单词。

lst2 = ['Azmat', 'AZ', 'azim', 'Zard', 'Zardari']

pattern = re.compile(r"\bAZ|Zard\b", re.I)

for item in lst2:
    if re.search(pattern, item):
        print item


此代码产生:

Azmat
AZ
azim
Zard


为什么不只匹配“ AZ”和“ Zard”?

最佳答案

您当前的代码正在寻找以az开头或以zard结尾的单词。像这样修复它:

pattern = re.compile(r"\b(AZ|Zard)\b", re.I)

10-06 01:28