Я думал, что это может быть [.\n] +, но это не работает?
Любой символ, включая новую строку - Java Regex
Ответ 1
Точка не может использоваться внутри классов символов.
См. параметр Pattern.DOTALL.
Pattern.DOTALL
Включает режим dotall. В dotall режиме выражение.
соответствует любому символу, включая терминатор линии. По умолчанию это выражение не соответствует терминаторам строк. Режим Dotall также можно включить с помощью выражения встроенного флага(?s)
. (S является мнемоником для режима "однострочный", что и называется в Perl.)
Если вам это нужно только на части регулярного выражения, вы используете, например, [\s\S]
.
Ответ 2
Изменить: хотя мой первоначальный ответ технически корректен, как отметил ThorSummoner, его можно сделать более эффективно, например
[\s\S]
по сравнению с (.|\n)
или (.|\n|\r)