我不是程序员,所以我的水平在这个领域是新手。我必须创建一个正则表达式来检查两行。在这两条线 A 和 B 之间可以是一条、两条或多条不同的线。
我一直在查看链接 http://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html但我还没有找到解决方案,尽管我认为我已经非常接近解决方案了。
我正在测试这个表达式
^(.*$)
这样就得到了一整行。如果我写这个表达式两次,它会得到两行。所以看起来这个表达式的整行与表达式的出现一样。
但是,我想检查 A 和 B 之间未确定的线。我知道至少会是一条线
如果我写 ^(.*$){1,}
它不起作用。
有人知道哪个可能是错误吗?
感谢您的宝贵时间 安德烈斯
最佳答案
正则表达式中的
DOT .
匹配除换行符之外的任何字符。
您正在寻找DOTALL
或 s
标志,使点匹配任何字符,包括换行符。因此,如果您想匹配文字 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/