我试图在 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")
