如何仅在单行上匹配正则表达式?

时间:2014-03-18 20:19:48

标签: java regex

我有以下正则表达式和示例输入:

http://regex101.com/r/xK9dE3

你可以看到它与第一个“哟”匹配。我只希望模式在同一行(第二个“yo”)模式上匹配“cut me”。

如何确保正则表达式匹配仅在同一行?

输出:

Hi

预期输出(这是我真正想要的):

Hi

yo keep this here

Keep this here

1 个答案:

答案 0 :(得分:2)

您可以将此正则表达式与s(DOTALL)正则表达式标志一起使用:

^.*?(?=yo\b[^\n]*cut me:)

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

yo\b[^\n]*cut me:是超前模式,可确保带有字边界且yo的{​​{1}}在同一行中匹配。