Python
 Computer >> コンピューター >  >> プログラミング >> Python

Python正規表現の文字クラスで範囲を指定する方法をわかりやすく解説

正規表現における「範囲」とは

Pythonの正規表現では、ハイフン(-)で2つの文字をつなぐことで、文字の範囲を簡単に指定できます。たとえば [a-z] は小文字のASCII英字1文字にマッチし、[0-5][0-9] と組み合わせれば「00」から「59」までの2桁の数字すべてにマッチします。

ハイフンそのものにマッチさせたい場合

範囲指定ではなく、ハイフン(-)という記号そのものにマッチさせたいときは、次のいずれかの方法を使います。

  • バックスラッシュでエスケープする:[a\-z]
  • 文字クラスの先頭または末尾に配置する:[-az][az-]

どちらの書き方でも、ハイフンは範囲指定の記号ではなく、リテラル(文字そのもの)として扱われます。

よく使われる範囲指定の実例

[A-Z] は大文字AからZまでのすべての英字にマッチします。同様に、[a-z] は小文字aからzまで、[a-c] なら小文字a・b・cの3文字にマッチします。

数字の場合も同じ考え方です。[0-9] は0から9までの1桁の数字にマッチし、[1-9][0-9] と組み合わせると10から99までの2桁の数値にマッチします。

このように範囲指定を組み合わせることで、郵便番号や日付など、特定の形式を持つ文字列を柔軟かつ簡潔にパターンマッチングできるようになります。

  1. 【初心者向け】Python正規表現のグループ化の仕組みと使い方を徹底解説

    グループ化とは正規表現における「グループ化」とは、パターンの一部を丸括弧 () で囲むことです。これにより、単一の文字だけでなく、グループ全体に対して量指定子(*、+ など)や各種演算子を適用できるようになります。キャプチャグループと後方参照丸括弧には、部分式をひとまとめにする役割に加えて、「キャプチャグループ」を作成する働きもあります。グループ化された部分がマッチした文字列は「後方参照(バックリファレンス)」として保存され、あとから再利用することが可能です。実際の開発では、2つ以上の候補のどれかにマッチする正規表現が必要になる場面が多くあります。また、量指定子を複数の式全体に適用したいケース

  2. Pythonの正規表現における修飾子(フラグ)の使い方と機能一覧

    Python正規表現の修飾子とはPythonのreモジュールでは、正規表現によるパターンマッチングの挙動を制御するために、さまざまな修飾子(フラグ)を指定することができます。これらの修飾子を使うことで、大文字小文字の区別や改行の扱いなど、マッチングの動作を柔軟に変更できます。以下に、主要な修飾子とその機能を一覧形式で紹介します。1. re.I(re.IGNORECASE)大文字と小文字を区別せずにマッチングを行います。英字の大小を無視したい場合に便利です。2. re.L(re.LOCALE)現在のロケール設定に従って単語を解釈します。このフラグは、アルファベット系のグループ(\w および \W