Skip to main content
 首页 » 编程设计

python之用于在字符串中精确查找单词 "n"次的正则表达式

2025年05月04日24wuhuacong

我试图在 python 中创建一个正则表达式,它允许我在字符串中找到一个单词“n”次

例如,如果我想找到一个可以匹配单词“cat”恰好两次的表达式。我该怎么做?

它应该接受“蓝猫在树上和红猫说话”。因为它恰好有两次“猫”。

但它不应该接受“The cat is big”。因为它只有一次“猫”

并且它不应该接受“狗是黄色的”。出于类似的原因

非常感谢

编辑 大家好

抱歉让问题太复杂了,但我忘了提一件事。

如果我想准确地找到“cat”两次,“The catcat runs”也会匹配

请您参考如下方法:

不要因为有正则表达式就使用它们。

words = text.split() 
print words.count('cat') 

正如 Vincent 指出的那样,假设所有单词都由空格分隔。

words = re.findall("\b\w*")  

可能是更好的选择。尽管这是否必要取决于您的帖子中未提供的详细信息。

编辑

如果您甚至不关心单词边界,就更没有理由使用正则表达式。

print text.count("cat")