無精で短気で傲慢なプログラマ

UNIX や web やプログラムの技術的なことを中心に。

正規表現における文字クラス内のドット

今日 30分はまったこと。

Perl の正規表現で、ドットの部分を改行コードにもマッチしてほしくて
 m/[.\n]/
とし書いたが、全く意図どおりに動かなかった。

なぜなら文字クラス [~] の外にあるドットは「改行以外の任意の一文字」という意味だが、文字クラスの中にあるドットは ただのドットだから (Perl に限らず、あらゆる正規表現にあてはまる)。

よって、

if ( 'abc' =~ m/[.]/ ){
print "OK!\n";
}

はマッチしない。
スポンサーサイト

PageTop

コメント


管理者にだけ表示を許可する