两个或多个匹配所需的表达式

时间:2015-06-17 19:55:45

标签: regex

我有一些文字:

cat is playing with the toy 
and the dog is chewing the bone

the bird is chirping 
the cat is watching the bird

我想创建一个表达式,只有在文本中出现'cat'两次或更多次时才匹配。

我有以下表达式适用于一个匹配,但我希望它仅在有两个或更多匹配时起作用。有人可以帮忙吗?

^(?=.*\cat\b).*$

2 个答案:

答案 0 :(得分:0)

我认为你的意思是,

.*?\bcat\b.*?\bcat\b.*

答案 1 :(得分:0)

使用。*会在每个\ n处停止,因此您必须考虑最终行。

尝试:

    [\s*.*]*cat\b(\s+.+)*cat\b(\s*.*)*