JavaScript 速習チュートリアル

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"]