boost用法【转】

/  示例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
}

转载于:https://www.cnblogs.com/NeuqUstcIim/archive/2008/12/25/1361995.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值