2012-07-04 15 views
9

devo queste variabili:come utilizzare il metodo di sostituzione dell'espressione regolare 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. 

voglio solo sostituire la prima occorrenza di solo.

Grazie ragazzi.

EDIT: ho trovato questo:

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

ma si dice la funzione non esiste, sto cercando di indovinare i parametri sono corretti al momento.

+0

non è una funzione valida. –

risposta

29

Ecco un esempio di utilizzo di base:

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

uscita

hellooooooooo

ciao Bob

Assicurarsi che si sta includendo <boost/regex.hpp> e sono collegati alla libreria boost_regex.

Problemi correlati