* 000以外の3桁の数字にマッチする正規表現 [#n8f5e9a2] (?!000)\d{3} (?! )というのは正規表現の「先読み」というものらしい、、むずい、、、 * PerlとJavaの正規表現の違い [#g0fc3f16] PerlとJavaで正規表現におけるマッチの概念が微妙に違うようです。 Perlの場合 $str = "AAAaaaBBB"; if( $str =~ m/aaa/ ){ print STDOUT "match\n"; } の結果はtrue。 一方、Javaの場合 Pattern pattern = Pattern.compile("aaa"); Matcher matcher = pattern.matcher("AAAaaaBBB"); boolean b = matcher.matches(); の結果はfalse。 上は「文字列の中にパターンにマッチする部分があるか」&br; 下は「文字列全体がパターンにマッチするか」&br; という違いらしい。&br; ちなみにJavaでPerlと同じような意味あいで マッチする部分があるかどうかを調べるには&br; matcher.find()を使えばよい。
コメントをかく