Javaで改行を含んだ文字列を置換するには

ちょっとはまってしまいました。
情けがない!!
SJC-Pが聞いてあきれます。
Stringのreplace()やreplaceAll()では残念ながら
改行を含んだものは置換できません。


残念。


そんな時はこいつを使用しよう。
PatternクラスとMatcherクラス!!


まず置換対象の正規表現を入れてみよう。
サンプルはHTMLから任意コメントアウト間に書かれた
ソースコードを除去する正規表現

Pattern pattern = Pattern.compile("<任意のコメントここから.+?任意のコメントここまで>");


こいつはまだ不完全です。改行も含む場合はこのcompile()の引数に
以下を追加してやる

Pattern.DOTALL


これで初めて改行に対応した。
全文はこんな感じ

Pattern pattern = Pattern.compile("<任意のコメントここから.+?任意のコメントここまで>", Pattern.DOTALL);

後はMatcherでさばく!!
これでOK

Matcher matcher = pattern.matcher([置換対象の文字列]);
String result = matcher.replaceAll("");