正規表現パターン指定の文法
ここで、正規表現のパターン指定の文法をざっと見ておきましょう。正規表現のパターンは、「文字の指定」と「繰り返し回数の指定」の組み合わせです。
先ほどのサンプルコード中では、「[0123456789]」が文字の指定、「{7}」が繰り返し回数の指定です。
正規表現の文字の指定方法
正規表現の文字の指定は、半角の角括弧 [ と ] で囲むのが基本です。このように書くと、この中の文字いずれか一文字が現れる、という意味になります。文字の指定方法は利便性のために簡略化した表記が用意されていて、連続する文字は途中を半角ハイフンで省略できます。例えば「[0123456789]」は「[0-9]」と書けます。また、この表記は複数使用する事もできるので、「[a-z0-9]」は「小文字の半角アルファベットまたは半角数字」を表します。
この他、非常に良く使う文字グループについては、以下のような特別の記号が用意されています。
¥d 数字。[0123456789] と同じ。 ¥w アルファベットと数字と半角アンダーバー。 [a-zA-Z0-9_] と同じ。 ¥s 空白文字。改行または半角スペース、タブ。 全角スペースは含みません。 ¥S 空白以外。 . (半角のドット。) 全ての文字に該当。
正規表現の繰り返し回数の指定方法
指定した文字の繰り返しの数は、半角の波括弧 { と } で囲うのが基本です。特定の回数現れる事を指定する場合は{N}と N 部分にその回数を指定します。
3回から10回、という範囲を持って指定する場合は、
{min,max}のように半角カンマで区切って数字を指定します(例: {3,10} )。この指定は max は無くても OK で、「{min,}」と書けば「min 回以上」を表します。
特殊な繰り返し回数の指定
以下の回数の指定については、「*」「+」「?」を使った特別な書き方があります。例えば文字 P の繰り返しだと以下のように書きます。------------------------------------------------------ 基本 簡略した書き方 意味 ------------------------------------------------------ P{0,} P* いくつあっても無くてもよい。 P{1,} P+ 1回以上繰り返す。 P{0,1} P? Pが無いか、または1回現れる。なお、この例の「P」のように、文字がグループでなく1文字の場合は、[ ] で囲う必要はありません。
さあ、軽く疲れてきましたね。混乱しないように、この正規表現のルールをプログラムで確認しておきましょう。
次は>文法確認のサンプルプログラム