Ответ 1
Напишите регулярное выражение следующим образом:
"(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>Header\n\n\ntext</column></row>"
);
if(matcher.matches()){
System.out.println(matcher.group(1));
}
}
}
Что при печати распечатывается:
Header
text