• ベストアンサー

正規表現の全角、半角、大文字、小文字の区別について

こんにちわ 最近正規表現の勉強をし始めたのですが フォームから入力された$keywordの 全角、半角、大文字、小文字の区別をなくすには どうすれば可能なのでしょうか? 今のところ効率などは求めていませんので 初心者が理解できるくらい簡単なご返答をよろしくお願いします

質問者が選んだベストアンサー

  • ベストアンサー
  • moon_night
  • ベストアンサー率32% (598/1831)
回答No.3

効率を求めないんだったら・・・ $data =~ s/A/a/; $data =~ s/B/b/; $data =~ s/C/c/; ・ ・ ・ $data =~ s/Z/z/;

gonntetu
質問者

補足

皆さんありがとうございます まだ自分は基礎が出来ていないのでもう少し正規表現の基礎を身に付けてみようと思います

その他の回答 (2)

回答No.2

これで、いかがでしょうか &jcode::tr( \$keyword, 'A-Za-z', 'A-Za-z'); $output = lc $keyword; 1行目で,全角→半角変換 2行目で、大文字→小文字変換

gonntetu
質問者

補足

ご回答ありがとうございます それとjcodeを使用しない方法ってありますか? 使用しないほうが何かと都合がいいのですが よろしくお願いします

  • omni2
  • ベストアンサー率53% (33/62)
回答No.1

区別をなくすという意味がもうひとつよくわかっていないのですが、 $keywordに含まれる文字は、a-z0-9のみ許可したいが、大文字A-Zや全角の0-9などを、半角に変換したいということでしょうか?? このあたりを具体的に書かれたら、 正規表現に強い方が回答してくださるとおもいます。

gonntetu
質問者

補足

例えばABCとABCとabcとabcで 検索した結果どれで検索しても同じ結果が出るようにしたいです

関連するQ&A