• 締切済み

正規表現について

いつもお世話になっております。 perlの正規表現で分からない事があります。 ご存知の方がいらっしゃれば、アドバイスを頂けますようよろしくお願い致します。 (質問内容) 以下のようなプログラムを実行した場合、matchが出力されてしまいます。 $aには、「、IS」を設定しているので、「真」と扱われないと思うのですが、何故、matchが出力されるのでしょうか? また、「偽」として処理をいしたい場合、 どのようにすればよろしいのでしょうか? #!/usr/bin/perl $a = "、IS"; $b = "AIS"; if ($a =~ $b){ print "match\n"; } else{ print "not match\n"; }

みんなの回答

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.3

Perl のバージョンによっては, プラグマなんかで対処できるかもしれない.

  • t-okura
  • ベストアンサー率75% (253/335)
回答No.2

シフト JIS の '、' の 2バイト目が 'A' と同じコードになっている からだと思います。 コードを EUC-JP で書くとたぶん回避できます。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

文字コードは?

hanto123
質問者

補足

SJISです。 よろしくお願いします。