正则表达式:计算单词列表中的匹配项

标签 regex list count cpu-word

我正在尝试获取正确的语法来从单词列表中获取匹配项的数量 示例:

列表:(美国、英国、希腊、德国、尼日利亚、巴西)

文本是:“蛋糕返回将巴西欢迎堆栈放在阿根廷溢出英国段落之间”

我想知道上面列表中有多少单词以正则表达式模式出现在该文本中。 或者,我想知道文本列表中是否有超过 1 个匹配项

是否可以使用正则表达式来做到这一点?

最佳答案

在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)

关于正则表达式:计算单词列表中的匹配项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9212674/

相关文章:

大小不同的数字的正则表达式

arrays - 使用 Mathematica 在具有相同长度的 N 个列表中找到最大列表的任何有效简单方法?

python - 拆分字符串的最佳方法

mysql - SQL 计数和分组不返回 0 的计数

Javascript 计算字符串中的数字

java - 按扩展名列出和计数文件

javascript - 正则表达式获取由 "="分隔的字段

r - R中某个字符后捕获的数字的数学运算

java - Android 正则表达式不匹配

python - 我的重新排列数组使得 arr[i] = i 的代码有什么问题?