/
示例1
#include < string >
#include < iostream >
#include < boost / regex.hpp >
int main() {
boost::regex reg( " \\d+ " );
boost::smatch m;
std:: string str( " my phone is 88886666 and age is 25 " );
std:: string ::const_iterator it = str.begin();
std:: string ::const_iterator end = str.end();
while (boost::regex_search(it, end, m, reg)) {
std::cout << m.str() << std::endl;
it = m[ 0 ].second;
}
boost::regex my_reg( " My " , boost::regex::icase | boost::regex::perl);
std:: string res = boost::regex_replace(str, my_reg, " Solee's " );
std::cout << res << std::endl;
return 0 ;
}
// 示例2
// 使用迭代器获取所有匹配
#include < boost / regex.hpp >
#include < iostream >
#include < string >
#include < algorithm >
using namespace std;
class Show {
public :
template < class T >
void operator ()( const T & t)
{
cout << t.str() << endl;
}
};
int main( int argc, char * argv[])
{
boost::regex reg( " \\d+ " );
string str( " my num is 21314 and age is 26. " );
boost::sregex_iterator it(str.begin(), str.end(), reg);
boost::sregex_iterator end;
for_each(it, end, Show());
return 0 ;
}
#include < string >
#include < iostream >
#include < boost / regex.hpp >
int main() {
boost::regex reg( " \\d+ " );
boost::smatch m;
std:: string str( " my phone is 88886666 and age is 25 " );
std:: string ::const_iterator it = str.begin();
std:: string ::const_iterator end = str.end();
while (boost::regex_search(it, end, m, reg)) {
std::cout << m.str() << std::endl;
it = m[ 0 ].second;
}
boost::regex my_reg( " My " , boost::regex::icase | boost::regex::perl);
std:: string res = boost::regex_replace(str, my_reg, " Solee's " );
std::cout << res << std::endl;
return 0 ;
}
// 示例2
// 使用迭代器获取所有匹配
#include < boost / regex.hpp >
#include < iostream >
#include < string >
#include < algorithm >
using namespace std;
class Show {
public :
template < class T >
void operator ()( const T & t)

cout << t.str() << endl;
}
};
int main( int argc, char * argv[])
{
boost::regex reg( " \\d+ " );
string str( " my num is 21314 and age is 26. " );
boost::sregex_iterator it(str.begin(), str.end(), reg);
boost::sregex_iterator end;
for_each(it, end, Show());
return 0 ;
}