【Python】正規表現モジュールreで、文字列をチェックする

 

Pythonの正規表現で、英数字などチェックする例です。

正規表現で文字列をチェックする

英字や英数字などをチェックしてみたいと思います。

英字かどうかチェックする

reモジュールのcompileで、()内に書いたパターンをコンパイルします。

[a-z]はaからzまでの半角小文字のアルファベット、+は、1つ以上続くという意味です。
例えば、cからfまでの文字のどれかが1つ以上なら、[c-f]+。

TrueかFalseで結果を返すなら、次のように書きます。

もしも「+」がなかったら、2文字以上の文字列なのでfullmatchだとFalseになります。

 

今度は小文字と大文字が混在した場合。

[A-Z]と書くと、大文字のAからZだけになります。
小文字または大文字なら、[a-zA-Z]。

英数字かどうかチェックする

半角英数の場合どう書くか。

先ほどの英数の例を見れば何となく分かるかもしれません。
次のように書けば、半角英数のどれかが含まれている場合、Trueが返ってきます。

正規表現を組み合わせて使ってみる

少し組み合わせて使う例です。

入力フォームによくあるメールアドレスのチェックです。

メールアドレスをチェックする

英字だけのメアドと、英数字の場合を書いてみました。

[a-z]+で、a~zのいずれかが1つ以上。
ドット「.」の前のバックスラッシュは、正規表現としての働きをさせないためのエスケープです。

英数字のところで紹介した感じで、[a-z0-9]+とすれば数字の交じったメールアドレスもチェックできます。

まとめ:Pythonの正規表現で、英数字、メールアドレスなどをチェック

英字や英数字、メールアドレスなど、正規表現でチェックしてみました。

現場で正規表現を使う機会が少なく、今まで正規表現のコードをあまり書いてこなかったので、メールアドレスのチェックを考えるだけでもすごく勉強になります。