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

来源:互联网 发布:淘宝店铺水印 编辑:程序博客网 时间:2024/06/05 11:20
#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

1 0
原创粉丝点击