我正在尝试使用正确的语法来获取单词列表中的匹配数 例如:
列表:(美国,英国,希腊,德国,尼日利亚,巴西)
文字是:“蛋糕回归将巴西欢迎堆栈放在段落阿根廷溢出英国”
之间我想知道上面列表中有多少单词出现在本文中,带有正则表达式模式。 另外,我想知道文本中列表中是否有多于1个匹配
是否可以使用Regex进行此操作?
答案 0 :(得分:2)
在Python中:
>>> import re
>>> countries = re.compile(r"\b(?:US|UK|Greece|Germany|Nigeria|Brazil)\b")
>>> text = "Cake returns put Brazil Welcome Stack to between paragraphs Argentina Overflow UK"
>>> len(countries.findall(text))
2
<强>解释强>
\b # Word boundary (start of word)
(?: # Match either...
US # US
| # or
UK # UK
| # or
Greece # Greece (etc.)
) # End of alternation
\b # Word boundary (end of word)