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

标签 java regex

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

http://regex101.com/r/xK9dE3

如您所见,它与第一个“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/

相关文章:

Java 通过导入针对 xsd 验证 xml

java - 将 Java 中的日期转换为整数,然后再转换为 Delphi 时间

JavaScript 正则表达式 : match all words with just some letters

sql - Oracle SQL - REGEXP_LIKE 包含 a-z 或 A-Z 以外的字符

java - 使用 Eclipse 编写 Java GUI

java - `NullPointerException` on swing AWT 线程 - JLightweightFrame 上的游标更新

javascript - 如何在javascript中将法语字符转换为英语字符

regex - 正则表达式未在 Swift 中返回预期结果

python - 正则表达式,使用字边界进行捕获,而不在 "dot"和/或其他字符处停止

java - 使用java获取System32文件夹位置