Не парсить html с помощью regexp - закон(который постоянно нарушают).
Гонишься за скоростью - конечный автомат те в помощь, иначе преобразование в dom и работа удобными методами.
А так в один проход match на js не получится в любом случае. Нужно либо exec в в цикле, либо после match пройтись по всем результатам ещё раз.
А регулярка примерно такая:
https://regex101.com/r/RHDZg8/1