ここから本文です

CGI Perl の正規表現で入力文字チェック

i1c********さん

2011/8/2321:00:36

CGI Perl の正規表現で入力文字チェック

Perlでの正規表現で教えていただきたいことがあります。

例えば、半角小文字英数字の文字列かそうでないかを判定したい場合は
正規表現は[a-z0-9]になるのでしょうか?

よろしくお願いします。

補足全角の英数字、ひらがな、カタカナ、記号が入力されたかを判定したいと思っています。。

閲覧数:
2,749
回答数:
1
お礼:
50枚

違反報告

ベストアンサーに選ばれた回答

e_k********さん

2011/8/2322:59:04

例えば、$str が「半角小文字英数字のみで構成されている」のかどうか調べるのであれば、以下になります。

$str =~ /^[a-z0-9]+$/

^ は文字列開始(または行頭)、$ は文字列終端を表します。
+ は直前の文字を 1 回以上繰り返し、です。
つまり上の正規表現は、「文字列の開始から終端まで、半角小文字英数字が繰り返されている」
という意味になります。

ただし、まぁこの場合は以下のようにするのが普通です。

$str !~ /[^a-z0-9]/

[] 内の ^ は否定です。
上の正規表現は、「半角小文字英数字 "以外" が含まれる」です。
!~ はそれの逆ですので、「$str に半角小文字英数字 "以外" が含まれ "ない"」となります。

質問した人からのコメント

2011/8/23 23:40:22

成功 解りやすい解説、ありがとうございます!

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる