Что значит «.*?»?
Вот здесь в сайдбаре есть подробные объяснения: https://regex101.com/r/ZREAov/1

.*?Эти символы нужно рассматривать вместе. Они означают "любой символ в любом количестве, но не жадно". В данном случае "не жадно" означает "пока не встретится >".

<\/\2Закрывающая скобка тега, слеш и значение из второй сохранённой группы. В данном случае - (a|div), если это значение содержалось в открывающем теге.

P.S. Если у вас этот JS исполняется в браузере, то гораздо правильнее использовать DOM API вместо регулярки (не знаю, может, его и в Node завезли).
\1 \2 и т.п. это номер ранее совпавшего шаблона

выражение кривое т.к. br может не иметь открывающего тега, более того закрывающий для br часто пишут с пробелом
</ br>
подчеркивая этот момент

P.S xpath такое решается надежнее