2012-07-04 9 views
9

que tienen estas variables:cómo usar el método de reemplazo de expresiones regulares de Boost?

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. 

sólo desea reemplazar la primera ocurrencia de ellos solamente.

Gracias chicos.

EDIT: He encontrado esto:

boost::regex_replace(stringToChange, re, boost::format_first_only); 

pero dice no existe la función, supongo que los parámetros son correctos en el momento.

+0

no es una función válida. –

Respuesta

29

Aquí es un ejemplo de uso básico:

#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; 
} 

salida

hellooooooooo

Hola Bob

Asegúrese de que está incluyendo <boost/regex.hpp> y se han vinculado a la biblioteca boost_regex.

Cuestiones relacionadas