java - 正则表达式匹配给定序列的空白、任何字符和/或换行符

标签 java regex

我有三种不同的可能场景来与下面解释的正则表达式匹配。

首先是我需要匹配的文件输入:

-- 1 --- (On 和 :

之间的任何内容
 On whatever:

-- 2 --(位于 : 旁边)

 On:

-- 3 --(On 和 : 之间的任何字符)

 On=:

-- 4 -- (O 和 : 之间的 = 和/n)

 On=
 :

这是我试图匹配的正则表达式,但没有成功

// String text = <file contents from above>
Pattern PATTERN = Pattern.compile("^(On\\s(.+):)$", Pattern.MULTILINE | Pattern.DOITALL);
Matcher m = PATTERN.matcher(text);
if (m.find()) {
   System.out.println("Not sure if this is correct to get all 4cases to step in here???");
}

谢谢!

最佳答案

我可能误解了,但我很确定你想得太多了。所有这些场景基本上都可以简化为:On 和 : 之间的任何内容,包括换行符或空字符串。因此,据我所知, On.*: 应该可以解决问题。

关于java - 正则表达式匹配给定序列的空白、任何字符和/或换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19261996/

相关文章:

regex - 解析输出并获取十六进制颜色

来自 Perl 类型正则表达式的 Java 正则表达式

正则表达式可以单独工作,但在 strsplit 中一起使用时则不起作用

java - 需要帮助编写测试

java - 方法 findViewById 没有按我的预期工作

java - 部署Spring应用程序的多个实例

java - 正则表达式问题 - 匹配 API 名称

javascript - JavaScript 中的 match 与 exec

java - 在 Java 中扩展适当参数的参数

使用 Kryo 序列化对象时出现 java.lang.StackOverflowError