Добрый вечер. Интерисует вопрос, поддерживается ли библиотекой libpcre замена по регулярному выражению или надо писать свою замену имея offset возвращенный pcre_exec'ом? Заранее пасиба.
Думаю, да. Судя по нижеследующему.
REPLACING PARTS OF STRINGS
You can replace the first match of "pattern" in "str" with "rewrite".
Within "rewrite", backslash-escaped digits (\1 to \9) can be used to
insert text matching corresponding parenthesized group from the pat-
tern. \0 in "rewrite" refers to the entire matching text. For example:
string s = "yabba dabba doo";
pcrecpp::RE("b+").Replace("d", &s);
will leave "s" containing "yada dabba doo". The result is true if the
pattern matches and a replacement occurs, false otherwise.
GlobalReplace is like Replace except that it replaces all occurrences
of the pattern in the string with the rewrite. Replacements are not
subject to re-matching. For example:
string s = "yabba dabba doo";
pcrecpp::RE("b+").GlobalReplace("d", &s);
will leave "s" containing "yada dada doo". It returns the number of
replacements made.
Extract is like Replace, except that if the pattern matches, "rewrite"
is copied into "out" (an additional argument) with substitutions. The
non-matching portions of "text" are ignored. Returns true iff a match
occurred and the extraction happened successfully; if no match occurs,
the string is left unaffected.