Якорный метасимвол
\G
в PHP и Ruby соответствует началу текущего совпадения, а в Perl. java.util.regex и языках .NET – концу предыдущего совпадения.
В подавляющем большинстве случаев конец предыдущего совпадения и начало текущего совпадения это одно и то же, но в некоторых редких случаях эти две позиции могут различаться.
https://www.rexegg.com/regex-anchors.php#G
Например, строка
A=1:2:3 B=1:2:3 A=1:2:3:4:5 B=1:2:3
Шаблон поиска
((?:A=|\G)\d):
Строка замены
$1.
Результат
A=1.2.3 B=1:2:3 A=1.2.3.4.5 B=1:2:3
https://regex101.com/r/nuWRBb/1
Как работает
\G
подробнее в книге Джеффри Фридла "Регулярные выражения".