编写这样的正则表达式:
"(regex1)(.*)(regex2)"
…并从匹配器中拉出中间组(以处理您要使用Pattern.DOTALL的模式中的换行符)。
使用您的示例,我们可以编写如下程序:
package test;import java.util.regex.Matcher;import java.util.regex.Pattern;public class Regex { public static void main(String[] args) { Pattern p = Pattern.compile( "<row><column>(.*)</column></row>", Pattern.DOTALL ); Matcher matcher = p.matcher( "<row><column>Headernnntext</column></row>" ); if(matcher.matches()){ System.out.println(matcher.group(1)); } }}运行时会打印出以下内容:
Headertext



