正規表現

正規表現で数字の桁数,範囲は{n,m} | 以上や以下も表せる

正規表現で桁数を表す方法

数字の桁数(文字の繰り返し数)指定は{n,m}

数字の桁数指定は「\d{n,m}」のような表記をすることで、n回〜m回という意味を表せます。「\d」部分を他の文字に変更すれば任意の文字で繰り返す回数を指定できます。

// 2桁〜4桁の数値を表現
\d{2,4}

// 検索の対象
1     // NG
12    // OK
123   // OK
1234  // OK
12345 // NG

文字の場合は次のようになります。

// ギが1〜3回繰り返されるのを想定
ギ{1,3}アル

// 検索の対象
アル     // NG
ギアル    // OK
ギギアル   // OK
ギギギアル  // OK
ギギギギアル // NG

また特殊な記法にも対応しています。

// 1〜5を使って2〜4桁の数字を表す
^[12345]{2,4}$

// 検索の対象
1     // NG
12    // OK
123   // OK
1234  // OK
12345 // NG
3     // NG
34    // OK
345   // OK
3456  // NG
34567 // NG

n桁は{n}

4桁や2桁のように特定の桁のみを指定したい場合は「\d{n}」とかくことで、n桁の数を表せます。「{n,m}」と同様に文字や特殊な記法にも対応しています。

// 2桁〜4桁の数値を表現
\d{4}

// 検索の対象
1     // NG
12    // NG
123   // NG
1234  // OK
12345 // NG

n桁以上は{n,}

2桁以上のように特定の桁のみを指定したい場合は「\d{n,}」とかくことで、n桁以上の数を表せます。桁数が多い場合にはどこまででも許可するので、あまりに多くの数が続きそうな場合には注意しましょう。

// 2桁以上の数値を表現
\d{2,}

// 検索の対象
1     // NG
12    // OK
123   // OK
1234  // OK
12345 // OK

m桁以下は{,m}

4桁以下のように特定の桁のみを指定したい場合は「\d{,m}」とかくことで、m桁以下の数を表せます。

// 4桁以下の数値を表現
\d{,4}

// 検索の対象
1     // OK
12    // OK
123   // OK
1234  // OK
12345 // NG

桁数を表す際に使うのは「\d」以外の数値であっても問題ありません。整数の表し方については次の記事で紹介しているので、数字を表現する際の参考にしてみてください。

数字の範囲指定は[ ]や|を使う

数字の範囲指定は[ ]や|を使うことが多いです。たとえば13〜59を指定する場合には「1[3-9]|[2-5][0-9]」のように表現できます。ただし正規表現で連番の指定をすると複雑になりやすいため、プログラミング言語等での記載方法で対応したほうが無難だと思います。