首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

问一个C++ 的正则表达式有关问题

2012-06-01 
问一个C++ 的正则表达式问题头文件C/C++ code#ifdef WIN32#include regex#else#include boost/regex.hp

问一个C++ 的正则表达式问题
头文件

C/C++ code
#ifdef WIN32#include <regex>#else#include <boost/regex.hpp>using namespace boost;#endif

函数定义
C/C++ code
int get_regex_lines(string& str, regex & reg, vector<string>& vline){    sregex_iterator end;    sregex_iterator iter_flight(str.begin(), str.end(), reg);    for(;iter_flight != end;++iter_flight)    {        for(int i=1;i<(*iter_flight).size();i++)        {            vline.push_back((*iter_flight)[i].str());        }            }    return vline.size();}int get_regex_lines(string& str, regex & reg, vector<string>& vline, vector<int> &vecpos){    sregex_iterator end;    sregex_iterator iter_flight(str.begin(), str.end(), reg);    for(;iter_flight != end;++iter_flight)    {        for(int i=1;i<(*iter_flight).size();i++)        {            vline.push_back((*iter_flight)[i].str());            vecpos.push_back((*iter_flight).position(i));        }            }    return vline.size();}


函数调用处
C/C++ code
regex exp("[1]{1}\\d{10}",regex::icase);    vector<string > vmobile;    get_regex_lines(textstr, exp, vmobile)

我想提取出手机号码放到 vmobile里面
我还想提取九位到十位的QQ号码 请问 正则表达式如何写

[解决办法]
\\d{9,10}这样就可以了

热点排行