無料ブログはココログ

« 【日記】ども、お久しぶりです | トップページ | 【日記】あ~、またさぼってしまった »

正規表現【Perl】

Perlの正規表現について、ホント便利ですよね。

一応日本語も使えます。

しかーーーーーーーーーーーーし、ちょっと問題発生!

「ポ」(カタカナ)や「ー」(長音符)を含む正規表現で問題発生!

たとえば

$word = "あいうえお";
if ($word =~ /ハリーポッター/) {print "Yes\n";}
else{print "No\n";}

としたとき、実行結果は

Yes\n

となってしまうことに気づいた。まぁもともと正規表現に日本語を使うのは好ましくないらしいのだが、とりあえずなんとかしなければ。

と言うわけでネットサーフィン。捜してみた結果、解答発見

つまり、「ポ」や「ー」などの文字の前に「\Q」、後ろに「\E」を継ぎ足せば言い訳ね、なるほど。
つまり

$word = "あいうえお";
if ($word =~ /ハリ\Q\E\Q\Eッタ\Q\E/) {print "Yes\n";}
else{print "No\n";}

とすれば言い訳か。

にしても、なるべくindex関数を使うべきなのかなぁ、日本語には。

以上、支離滅裂な備忘録なり。

« 【日記】ども、お久しぶりです | トップページ | 【日記】あ~、またさぼってしまった »

日記・コラム・つぶやき」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/40906/6726041

この記事へのトラックバック一覧です: 正規表現【Perl】:

« 【日記】ども、お久しぶりです | トップページ | 【日記】あ~、またさぼってしまった »

最近のトラックバック

2016年11月
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30