JavaScript正規表現におけるグローバルmatchAll
メソッドmatchAllは、すべてのマッチを反復可能オブジェクトとして返し、その各要素には見つかったマッチとそのキャプチャグループの配列が含まれます。
このメソッドは、修飾子gが必須です。
例を見てみましょう。 以下の文字列があるとします:
let str = '12 34 56';
すべての数字のペアを見つけ、その各桁をキャプチャグループに分けてみましょう:
let matches = str.matchAll(/(\d)(\d)/g);
得られた反復可能オブジェクトをループで処理し、見つかったマッチを表示してみます:
for (let match of matches) {
console.log(match); // [12, 1, 2], [34, 3, 4], [56, 5, 6]
}
以下の文字列が与えられています:
let str = '12:37 15:48 17:59';
この文字列から時刻の部分文字列をすべて見つけ、それぞれについて時間と分をキャプチャグループに分解してください。
文字列が与えられています:
let str = 'site.ru sss site.com zzz site.net';
この文字列からドメイン名の配列を取得し、その配列の各要素でドメイン名とそのトップレベルドメインを別々のキャプチャグループに保存してください。