正则表达式:捕获最大连续定义的单词组

时间:2015-07-11 01:34:04

标签: regex

正则表达式:cat|dog|mouse|fish

text:dog cat

捕获一组有2场比赛的小组。我想要一组只有一只“狗猫”的比赛。

我尝试了[cat|dog|mouse|fish]+但仍有2场比赛,还匹配其他内容?

1 个答案:

答案 0 :(得分:3)

在模式前添加可选的\s\s*,并使其重复一次或多次。

\b(?:\s?(?:cat|dog|mouse|fish))+

[cat|dog|mouse|fish]是匹配字符组的错误方法。您需要将这些子串放在不在字符类中的组中。

DEMO

(?<nnn>\b(?:cat|dog|mouse|fish)(?:\s+(?:cat|dog|mouse|fish)\b)*)

DEMO