質問: CGI Perl の正規表現で入力文字チェック
回答: 例えば、$str が「半角小文字英数字のみで構成されている」のかどうか調べるのであれば、以下になります。 $str =~ /^[a-z0-9]+$/ ^ は文字列開始(または行頭)、$ は文字列終端を表します。 + は直前の文字を 1 回以上繰り返し、です。 つまり上の正規表現は、「文字列の開始から終端まで、半角小文字英数字が繰り返されている」 という意味になります。 ただし、まぁこの場合は以下のようにするのが普通です。 $str !~ /[^a-z0-9]/ [] 内の ^ は否定です。 上の正規表現は、「半角小文字英数字 "以外" が含まれる」です。 !~ はそれの逆ですので、「$str に半角小文字英数字 "以外" が含まれ "ない"」となります。