1. ホーム
  2. javascript

[解決済み] Javascriptで正規表現match()の位置を返す?

2022-04-24 20:41:47

質問

Javascriptで正規表現match()の結果の文字列内の(開始)文字位置を取得する方法はありますか?

どのように解決するのですか?

思いついたのはこんな感じです。

// Finds starting and ending positions of quoted text
// in double or single quotes with escape char support like \" \'
var str = "this is a \"quoted\" string as you can 'read'";

var patt = /'((?:\\.|[^'])*)'|"((?:\\.|[^"])*)"/igm;

while (match = patt.exec(str)) {
  console.log(match.index + ' ' + patt.lastIndex);
}