--- title: 数量詞 slug: Web/JavaScript/Guide/Regular_Expressions/Quantifiers tags: - JavaScript - Reference - Regular Expressions - quantifiers - regex translation_of: Web/JavaScript/Guide/Regular_Expressions/Quantifiers ---
{{jsSidebar("JavaScript Guide")}}{{draft}}
数量詞はマッチする文字や式の数を示します。
文字 | 意味 |
---|---|
x* |
直前の文字 x の 0 回以上の繰り返しにマッチします。例えば |
x+ |
直前の文字 x の 1 回以上の繰り返しにマッチします。 |
x? |
直前の文字 x の 0 回か 1 回の出現にマッチします。例えば
|
x{n} |
|
x{n,} |
|
x{n,m} |
|
|
既定では
|
var britishText = "He asked his neighbour a favour."; var americanText = "He asked his neighbor a favor."; var regexpEnding = /\w+ou?r/g; // \w+ 1つ以上の文字 // o "o" が続く // u? 任意で "u" が続く // r "r" が続く console.table(britishText.match(regexpEnding)); // ["neighbour", "favour"] console.table(americanText.match(regexpEnding)); // ["neighbor", "favor"]
var text = "I must be getting somewhere near the centre of the earth."; var greedyRegexp = /[\w ]+/; // [\w ] ラテンアルファベットまたは空白 // + 1回以上 console.log(text.match(greedyRegexp)[0]); // "I must be getting somewhere near the centre of the earth." // テキストのすべてがマッチ var nonGreedyRegexp = /[\w ]+?/; // クエスチョンマークに注目 console.log(text.match(nonGreedyRegexp)); // "I" // マッチは可能なもので最小
仕様 | 策定状況 | コメント |
---|---|---|
{{SpecName('ESDraft', '#sec-quantifier', 'RegExp: Quantifiers')}} | {{Spec2('ESDraft')}} |
{{Compat("javascript.builtins.RegExp.quantifiers")}}