您的位置:首页 > 其它

Boost和标准库中正则表达式的使用

2015-09-21 15:57 302 查看
#include "ReadShp.h"

#include <regex>

#include "boost/regex.hpp"

int main()

{

//ReadShp sh(StringBase(_T("D:\\IP\\J-圏央道(Rev.0.5.01.01)試作データ\\90202_LNND_SPLIT\\khi_road_vectorLine_FeatureV.shp")));

//ReadShp sh(StringBase(_T("D:\\IP\\J-圏央道(Rev.0.5.01.01)試作データ\\90202_LNND_SPLIT\\R468_1_LNNDT_LLND_LANE_MARK_01.shp")));

//sh.run();

/*

// 正则表达式

// regex_match和regex_search都只匹配一次

// 它们唯一的不同就是前者需要整个字符串完全匹配,后者只部分匹配

StringBase str = _T("111com_310018931@qq.cam_3100.qq.cpm.3100g");

boost::wregex rx(_T("c[a|o|p]m"));

std::wsmatch mst;

StringBase::iterator it_begin = str.begin();

StringBase::iterator it_end = str.end();

std::wsregex_iterator it(it_begin, it_end, rx);

std::wsregex_iterator it_gg;

for (; it != it_gg; ++it)

{

std::wcout<<it->position()<<std::endl;

}

*/

StringBase str = _T("111com_310018931@qq.cam_3100.qq.cpm.3100g");

boost::wregex rx(_T("c[a|o|p]m"));

boost::wsmatch mst;

StringBase::iterator it_begin = str.begin();

StringBase::iterator it_end = str.end();

boost::wsregex_iterator it(it_begin, it_end, rx);

boost::wsregex_iterator it_gg;

for (; it != it_gg; ++it)

{

std::wcout<<it->position()<<std::endl;

}

system("pause");

return 0;

}



作者: http://blog.csdn.net/lp310018931
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: