码迷,mamicode.com
首页 > 其他好文 > 详细

boost::regex

时间:2015-10-27 22:10:17      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:

常见用法:

boost::regex express;

regex_match(str,express);  bool

smatch what;

cmatch what;

typedef match_results<const char*> cmatch;
typedef match_results<std::string::const_iterator> smatch;

regex_search(str,what,express);bool

what[0];

what[1];

regex_replace(str,express,kongge);

 

①匹配全串存在多个结果的情况下

主要针对string

boost::sregex_iterator ite(str.begin(), str.end(), express);
boost::sregex_iterator endite;
while (ite != endite)
{
cout<<*ite<<endl;
ite++;
}

char *p = "www.baidu.com---dffsfdsf--f-ff www.google.comddfdsffd";

boost::regex exp("\\w{3}\\.(\\w+\\.)+(net|com|cn)");

char *tmp = p;

cmath what;

while(boost::regex_search(tmp, what, exp))

{

  cout<<what[0]<<endl;

  tmp = what[0].second;

}

③可以通过const *p = s.c_str();

 

 

const_reference operator[](int n) const : 返回一个sub_match引用,当n=0时返回[first,last)的匹配结果,当0<n<=size时,返回对应元组的匹配结果,

当n>size时返回一个matched值为假的sub_match结构,元组按照左边括号的顺序和sub_match相对应,从1开始

 一篇写得不错的博文

 http://www.cnblogs.com/hucn/archive/2011/05/09/2041490.html

 

boost::regex iterator

http://www.boost.org/doc/libs/1_55_0/libs/regex/doc/html/boost_regex/ref/regex_iterator.html

boost::regex

标签:

原文地址:http://www.cnblogs.com/coderecord/p/4915578.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!