正規表現

java.util.Scanner#findInLine(String)の埋め込みフラグ

気になったので調べてみた。 まずはこれ。 Scanner scanner = new Scanner("\n"); String result = scanner.findInLine("(?s).*"); System.out.print(result); #java5-> (改行が表示される) #java6-> (改行が表示されない) これを実行するとJava5とJava6で…

Java SE 6の正規表現

Javaのバージョンを5から6へアップさせたら正規表現の処理が変わったのか手元のプログラムが意図した通りに動かなくなった。 具体的に言うとjava.util.Scanner#findInLine(String)で引数のリテラルの冒頭で(?s)を入れてもDOTALLフラグが有効にならないっぽい…