GWTの正規表現(RegExp)でsオプションを指定したいとき
GWTでは正規表現にはRegExpクラスを使用するが、RegExpクラスはsオプション(シングルラインとして処理)が指定できない。
つまり、「.」は「\n」にマッチしない。
すべての文字と改行をマッチさせたいときは
[\s\S]
を利用するとよい。
参考:How to use JavaScript regex over multiple lines? - Stack Overflow
例
private MatchResult _matchSentenceBlock(String target) { String regex = "([\\s\\S]*?)_\\[([\\s\\S]+?)\\]_([\\s\\S]*)"; RegExp pattern = RegExp.compile(regex, "g"); return pattern.exec(target); }