It may be a little subtle, but the _regex_ syntax is Perl compatible, (and it is also yuckmascript compatible if a flag is set, Geany doesn't set it) but replacement isn't part of the regex syntax and thats why it isn't documented in the Glib regex syntax page.
My reference to Glib's replace is irrelevant, it appears that the replace is [Geany's own](https://github.com/geany/geany/blob/f1de94bb88f1c41c817a683da2d789561a36a9ce...) so its totally unrelated to any Perls, so yeah, it should be clearly documented in Geany docs.
Why the Geany docs [repeat](https://github.com/geany/geany/blob/master/doc/geany.txt#regular-expressions) the regex stuff I'm not sure, but I think its from back when it used a less common regex engine, but thats where the replace stuff is hidden, maybe it should be [here](https://github.com/geany/geany/blob/master/doc/geany.txt#replace).
Pull requests are welcome.