Получить индекс каждого захвата в регулярном выражении JavaScript
Я хочу соответствовать регулярному выражению, как/(a).(b)(c.)d/
с"aabccde"
и получите следующую информацию:
"a" at index = 0
"b" at index = 2
"cc" at index = 3
Как я могу это сделать? String.match возвращает список совпадений и индекс начала полного совпадения, а не индекс каждого захвата.
Изменить: тестовый случай, который неработать с обычным indexOf
regex: /(a).(.)/
string: "aaa"
expected result: "a" at 0, "a" at 2
Примечание: вопрос похож наJavascript Regex: Как найти индекс каждого подвыражения?, но я не могу изменить регулярное выражение, чтобы сделать каждое подвыражение захватывающей группой.