Получить индекс каждого захвата в регулярном выражении 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: Как найти индекс каждого подвыражения?, но я не могу изменить регулярное выражение, чтобы сделать каждое подвыражение захватывающей группой.

Ответы на вопрос(6)

Ваш ответ на вопрос