Regex.replace

Replaces all occurrences of the pattern in @regex with the replacement text. Backreferences of the form '\number' or '\g<number>' in the replacement text are interpolated by the number-th captured subexpression of the match, '\g<name>' refers to the captured subexpression with the given name. '\0' refers to the complete match, but '\0' followed by a number is the octal representation of a character. To include a literal '\' in the replacement, write '\\\\'.

There are also escapes that changes the case of the following text:

- \l: Convert to lower case the next character - \u: Convert to upper case the next character - \L: Convert to lower case till \E - \U: Convert to upper case till \E - \E: End case modification

If you do not need to use backreferences use g_regex_replace_literal().

The @replacement string must be UTF-8 encoded even if #G_REGEX_RAW was passed to g_regex_new(). If you want to use not UTF-8 encoded stings you can use g_regex_replace_literal().

Setting @start_position differs from just passing over a shortened string and setting #G_REGEX_MATCH_NOTBOL in the case of a pattern that begins with any kind of lookbehind assertion, such as "\b".

class Regex
string
replace

Parameters

str string

the string to perform matches against

startPosition int

starting index of the string to match, in bytes

replacement string

text to replace each match with

matchOptions GRegexMatchFlags

options for the match

Return Value

Type: string

a newly allocated string containing the replacements

Throws

GException on failure.

Meta

Since

2.14