我有以下正则表达式和示例输入:
如您所见,它与第一个“yo”匹配。我只希望模式在同一行(第二个“yo”)模式上与“cut me”相匹配。
如何确保正则表达式匹配仅在同一行?
输出:
Hi
预期输出(这是我真正想要的):
Hi
yo keep this here
Keep this here
最佳答案
您可以将此正则表达式与 s
(DOTALL) 正则表达式标志一起使用:
^.*?(?=yo\b[^\n]*cut me:)
在线演示:http://regex101.com/r/oV3eP7
yo\b[^\n]*cut me:
是前瞻模式,确保 yo
带有单词边界并且 cut me:
在同一行中匹配。
关于java - 如何仅在单行上匹配正则表达式模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22490149/