如何匹配模式的第一个实例?

时间:2014-03-20 20:23:36

标签: java regex

我有以下正则表达式和输入。

http://regex101.com/r/rY5xD2

^(.+)\byo\b.*?(cut me:)

如何才能匹配模式匹配的第一个实例?

- 所需的小组匹配(我保留的文字) -

Hi

yo keep this here

Keep this here

2 个答案:

答案 0 :(得分:1)

您可以使用:

^(.+?)\byo\b(?:(?!cut me:|yo).)*cut me:

在线演示:http://regex101.com/r/sB3kK5

答案 1 :(得分:1)

您可以尝试使用^(((?!cut me:).)+)\byo\b.*?(cut me:)

想法是不接受cut me:开头的字符。但要小心,因为这种方法对于较长的字符串而言可能非常昂贵,因为回溯是"cut me:"

DEMO