複数行に対して正規表現適用
(?m)
// expected
// <html><style>style1\nstyle2</style><body>body</body></html>
// <html><body>body</body></html>
String str = "<html><style>style1\nstyle2</style><body>body</body></html>";
String regex = "<style>(?m).+?</style>";
Pattern p = Pattern.compile(regex, Pattern.DOTALL);
Matcher m = p.matcher(str);
String result = m.replaceFirst("");
System.err.println(result); // <html><body>body</body></html>