问题
I have these variables:
boost::regex re //regular expression to use
std::string stringToChange //replace this string
std::string newValue //new value that is going to replace the stringToChange depending on the regex.
I only want to replace the first occurrence of it only.
Thanks fellas.
EDIT: I've found this:
boost::regex_replace(stringToChange, re, boost::format_first_only);
but it says the function does not exists, I'm guessing the parameters are incorrect at the moment.
回答1:
Here is an example of basic usage:
#include <iostream>
#include <string>
#include <boost/regex.hpp>
int main(){
std::string str = "hellooooooooo";
std::string newtext = "o Bob";
boost::regex re("ooooooooo");
std::cout << str << std::endl;
std::string result = boost::regex_replace(str, re, newtext);
std::cout << result << std::endl;
}
Output
hellooooooooo
hello Bob
Make sure you are including <boost/regex.hpp>
and have linked to the boost_regex library.
来源:https://stackoverflow.com/questions/11321533/how-to-use-boost-regular-expression-replace-method