regex_replace in C++ | Replace the match of a string using regex_replace
std::regex_replace() is used to replace all matches in a string,
regex_replace(subject, regex_object, replace_text)
Parameters: It accepts three parameters which are described below:
- Subject string as the first parameter.
- The regex object as the second parameter.
- The string with the replacement text as the third parameter.
Return Value: Function returns a new string with the replacements applied.
- $& or $0 is used to insert the whole regex match.
- $1, $2, … up to $9 is used to insert the text matched by the first nine capturing groups.
- $` (back-tick) is used to insert the string that is left of the match.
- $’ (quote) is used to insert the string that is right of the match.
- If number of capturing group is less than the requested, then that will be replaced by nothing.
Suppose a regex object re(“(geeks)(.*)”) is created and the subject string is: subject(“its all about geeksforgeeks”), you want to replace the match by the content of any capturing group (eg $0, $1, … upto 9).
Replace the match by the content of $1.
Here match is “geeksforgeeks” that will be replaced by $1(“geeks”).
Hence, result “its all about geeks”.
Replace the match by the content of $2.
Here match is “geeksforgeeks” that will be replaced by $2(“forgeeks”).
Hence, result “its all about forgeeks”.
Below is the program to show the working of regex_replace.
its all about forgeeks its all about geeks its all about geeksforgeeks its all about geeksforgeeks its all about