正規表現を実際に使用する方法について質問している場合:
複数の(グローバル)一致のすべてのキャプチャを取得するには、ループとexec
JavaScriptを使用する必要があります。
var regex = /marker\d+"?(\w+)/gi;
var result = [];
var match;
while (match = regex.exec(input)) {
result.push(match[1]);
}
(とにかくオプションであるため、キャプチャのみに関心がある場合は、末尾を省略でき"?\s?
ます。これにより、一致する結果に影響を与えることはありません。)
いいえ、g
1回の呼び出しですべてを実行することはできません。省略した場合はg
、exec
毎回同じ一致が返されます。
Marker13"something Marker14bar
Blenderが述べたように、 (一致しない)のようなものを除外したい場合は、"
別のキャプチャグループと後方参照を使用する必要があります。これにより、目的のキャプチャがインデックスにプッシュされることに注意してください2
。
var regex = /marker\d+("?)(\w+)\1/gi;
var result = [];
var match;
while (match = regex.exec(input)) {
result.push(match[2]);
}