regex_replace in C++ | Replace the match of a string using regex_replace
Last Updated :
04 Sep, 2018
std::regex_replace() is used to replace all matches in a string,
Syntax:
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.
Examples:
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).
Example-1:
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”.
Example-2:
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.
#include <bits/stdc++.h>
using namespace std;
int main()
{
string subject( "its all about geeksforgeeks" );
string result1, result2, result3, result4;
string result5;
regex re( "(geeks)(.*)" );
result1 = regex_replace(subject, re, "$2" );
result2 = regex_replace(subject, re, "$1" );
result3 = regex_replace(subject, re, "$0" );
result4 = regex_replace(subject, re, "$&" );
result5 = regex_replace(subject, re, "$6" );
cout << result1 << endl << result2 << endl;
cout << result3 << endl << result4 << endl
<< result5;
return 0;
}
|
Output:
its all about forgeeks
its all about geeks
its all about geeksforgeeks
its all about geeksforgeeks
its all about
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...