数量詞
草案
このページは完成していません。
数量詞はマッチする文字や式の数を示します。
種類
文字 | 意味 |
---|---|
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"
// マッチは可能なもので最小
仕様
仕様 | 策定状況 | コメント |
---|---|---|
ECMAScript (ECMA-262) RegExp: Quantifiers の定義 |
現行の標準 |