JS 正規表現:量指定子
1. 量指定子(Quantifiers)とは
量指定子(Quantifiers)は、マッチさせる文字や式の出現回数を定義します。
// 少なくとも1つの「0」にマッチさせる
const pattern = /0+/;2. JavaScript 正規表現の量指定子一覧
(2025年7月改訂版)
| コード | 説明 |
|---|---|
| x+ | 少なくとも1回の x にマッチします。 |
| x* | 0回以上の x の出現にマッチします。 |
| x? | 0回または1回の x の出現にマッチします。 |
| x{n} | ちょうど n 回の x の出現にマッチします。 |
| x{n,m} | n 回から m 回までの x の出現にマッチします。 |
| x{n,} | n 回以上の x の出現にマッチします。 |
3. RegExp + 量指定子
x+ は、少なくとも1回以上の x にマッチします。
使用例:
文字列内にある、少なくとも1つの "o" を含むパターンをグローバル検索します。
let text = "Hellooo World! Hello Volardev!";
// "l" の後に "o" が1回以上続く箇所を検索
const pattern = /lo+/g;
let result = text.match(pattern);
// 結果: ["looo", "lo", "lo"]4. RegExp * 量指定子
x* は、0回以上の x の出現にマッチします。
使用例:
"l" の後に0回以上の "o" が続くパターンをグローバル検索します。
let text = "Hellooo World! Hello Volardev!";
const pattern = /lo*/g;
let result = text.match(pattern);
// 結果: ["looo", "l", "lo", "lo"]5. RegExp ? 量指定子
x? は、0回または1回の x の出現にマッチします。
使用例:
"1" の後に、0回または1回の "0" が続くパターンをグローバル検索します。
let text = "1, 100 or 1000?";
const pattern = /10?/g;
let result = text.match(pattern);
// 結果: ["1", "10", "10"]6. RegExp {n} 量指定子
x{n} は、ちょうど n 回出現する x にマッチします。
使用例:
4つの連続した数字(デジット)のシーケンスをグローバル検索します。
let text = "100, 1000 or 10000?";
let pattern = /\d{4}/g;
let result = text.match(pattern);
// 結果: ["1000", "1000"]7. RegExp {n,m} 量指定子
x{n,m} は、n 回から m 回までの出現にマッチします。
使用例:
3つから4つの連続した数字のシーケンスをグローバル検索します。
let text = "100, 1000 or 10000?";
let pattern = /\d{3,4}/g;
let result = text.match(pattern);
// 結果: ["100", "1000", "1000"]8. RegExp {n,} 量指定子
x{n,} は、n 回以上の出現にマッチします。
使用例:
少なくとも3つ以上の連続した数字のシーケンスをグローバル検索します。
let text = "100, 1000 or 10000?";
let pattern = /\d{3,}/g;
let result = text.match(pattern);
// 結果: ["100", "1000", "10000"]