日期:2014-05-20  浏览次数:20889 次

正则表达式(?s)<(A).*>(.*)?<\\/\\1>,开头的(?s)是什么意思?
groupStr   =   groupStr.replaceAll( "(?s) <(A).*> (.*)? <\\/\\1> ",   "$2 ");
这是一个匹配Html标签的正则表达式,开头的(?s)是什么意思?
我查了正则表达式的教程,也没有对这个语法有所解释,如果不用,在一个复杂的Html中就会出现应该匹配而没有匹配的,很奇怪,求解。

------解决方案--------------------
通过嵌入式标志表达式 (?s) 也可以启用 dotall 模式(s 是 "single-line " 模式的助记符,在 Perl 中也使用它)。

具体参考JAVADOC~~~~~