GWT アプリケーション。アプリを開発モード/Eclipse で実行すると、replaceAll によって一致グループが置換文字列に入れられます。
しかし、war をビルドして tomcat サーバーにデプロイすると、正規表現は一致しますが、一致グループではなく、結果にリテラル $0 を入れるだけです。
JVM は異なるバージョンです ( local:6, tomcat:7 )。しかし、なぜこれが起こるのかわかりませんか?
bodyText = bodyText.replaceAll("\\[\\w+ *\\w*\\]", "<span style=\"color:red;\">$0</span>");