📗 基礎編:文字クラス・量指定子・アンカー

■ 文字クラス

文字クラスは「どんな種類の文字にマッチさせるか」を指定する記法です。\d(数字)、\w(英数字とアンダースコア)、\s(空白文字)、.(任意の1文字)がよく使われます。自分で文字の集合を指定したいときは [...] で囲みます。[ぁ-んー]+ のようにUnicodeの範囲を指定すれば、ひらがな・カタカナ・漢字もマッチ対象にできます。

■ 量指定子

直前の文字やグループが「何回繰り返されるか」を指定します。*(0回以上)、+(1回以上)、?(0回か1回)、{n,m}(n回以上m回以下)。*+ は貪欲にできるだけ長くマッチしようとするため、最短マッチにしたい場合は *? のように ? を付けて非貪欲にします。

■ アンカー(位置の指定)

^ は文字列の先頭、$ は文字列の末尾を表します。文字そのものではなく「位置」を示す点が特徴で、^\d{3}-\d{4}$ のように挟むと「文字列全体がこの形式である」ことを保証できます。