java - 使用 java.util.regex.Pattern

标签 java regex

我不是程序员,所以我的水平在这个领域是新手。我必须创建一个正则表达式来检查两行。在这两条线 A 和 B 之间可以是一条、两条或多条不同的线。

我一直在查看链接 http://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html但我还没有找到解决方案,尽管我认为我已经非常接近解决方案了。

我正在测试这个表达式 ^(.*$) 这样就得到了一整行。如果我写这个表达式两次,它会得到两行。所以看起来这个表达式的整行与表达式的出现一样。

但是,我想检查 A 和 B 之间未确定的线。我知道至少会是一条线 如果我写 ^(.*$){1,} 它不起作用。

有人知道哪个可能是错误吗?

感谢您的宝贵时间 安德烈斯

最佳答案

正则表达式中的

DOT . 匹配除换行符之外的任何字符。

您正在寻找DOTALLs 标志,使点匹配任何字符,包括换行符。因此,如果您想匹配文字 A 和 B 之间的所有行,请使用以下正则表达式:

(?s)A.*?B

(?s) 用于 DOTALL,它将使 .*? 匹配所有字符,包括 A 和 B 之间的换行符。

? 是使上述正则表达式非贪婪。

了解更多:http://docs.oracle.com/javase/1.5.0/docs/api/java/util/regex/Pattern.html

关于java - 使用 java.util.regex.Pattern,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16189961/

相关文章:

c++ - 如何访问重复捕获组的所有匹配项,而不仅仅是最后一个?

regex - 使用 VIM 替换命令将对象的所有字段用引号引起来

java - java中特定日期时间的时区转换

java - 使用 javac 编译 Java 文件集时缺少类文件

regex - 在 bash 中检查文件的正则表达式

javascript - 在 JS .replace() 中使用 RegEx 从字符串中提取文件和行信息?

c# - 正则表达式查找给定范围内 5 个连续数字的一个或多个实例

java - 如何在 RichFaces 中对数据表中的行进行排序?

java - 如何将日志写入 btrace 中的文件?

java - Maven:从给定代码中识别正确的依赖关系