本記事は、Python正規表現で英数字を使う方法や説明するものです。
具体的には以下の2つについて説明します。
・Python正規表現での英数字マッチ記述例
本記事を読めば英数字の使い方について理解できます。
正規表現チェッカー>>正規表現チェッカー for Python
目次
Python正規表現で英数字を使う方法
正規表現で英字や数字を使う場合は「[]」の中に指定したい数字や英字を記述します。
「[0-9]」のようにハイフンを使うことで範囲指定することも可能です。
正規表現で英字を使う方法
正規表現で英字を指定する場合以下のように指定します。
大文字と小文字は別の文字として扱われるため、特に制限がない場合は両方の記述が必要です。
以下のように記述することで大文字と小文字両方を使うことができます。
上記は全てのアルファベットを使うケースについて紹介しましたが、以下のように記述することで使う文字を制限することも可能です。
ハイフンで範囲指定できます。
「[abcs]」と指定した場合、「abcs」という文字列にマッチする訳ではなく、「a」,「b」,「c」,「s」の全ての文字にマッチします。
正規表現で数字を使う方法
上記は全ての数字を使うケースについて紹介しましたが、以下のように記述することで使う数字を制限することも可能です。
ハイフンで範囲指定できます。
「[1234]」と指定した場合、「abcs」という文字列にマッチする訳ではなく、「1」,「2」,「3」,「4」の全ての数字にマッチします。
正規表現で英字と数字両方を使う方法
英語の数字と両方を使う場合は以下のように対象となる数字や英字を全て指定します。
正規表現で英数字に全角で指定したい場合
全角で使いたい場合は「[0-9]」のように数字の部分に全角を指定します。
(数字以外の[]と-は通常通り半角です。)
半角と全角両方許可したい場合は「'[0-90-9]」のように両方記載することで可能です。
Python正規表現での英数字マッチ記述例
Python+正規表現の英数字記述する方法について紹介します。
◆0文字以上のアルファベットを指定する場合
1 2 3 | import re pattern = re.compile('[a-z]*') pattern.match('acdef') |
◆実行結果
1 | <re.Match object; span=(0, 5), match='acdef'> |
◆0文字以上の数字を指定する場合
1 2 3 | import re pattern = re.compile('[0-9]*') pattern.match('012345') |
◆実行結果
1 | <re.Match object; span=(0, 6), match='012345'> |
◆1文字以上の英数字を指定する場合
1 2 3 | import re pattern = re.compile('[a-zA-Z0-9]+') pattern.match('012345abc') |
◆実行結果
1 | <re.Match object; span=(0, 9), match='012345abc'> |
まとめ
今回は正規表現で英数字を使う方法を紹介しました。
正規表現で英字や数字を使う場合は「[]」の中に指定したい数字や英字を記述します。
「[0-9]」のようにハイフンを使うことで範囲指定することも可能です。
英数字の正規表現はパスワードやメールアドレスなど使いどころが多いので覚えておくようにしましょう。
関連記事>>正規表現でひらがなやカタカナを使う方法
Pythonのエスケープまとめ>>Python正規表現の特殊記号と記述方法まとめ
正規表現チェッカー>>正規表現チェッカー for Python