Pcre++使用说明

Pcre++使用说明 之前使用过一段时间boost,做为客户端时,虽然有过异常,但是都可以通过try{}catch(){}来解决了,但是 这次开发服务器时,当进行并发测试时,因为boost的问题,程序莫名地崩溃,而且通过捕获异常,也解决不了问题。 于是我们决定换用Pcre++,包很小而且使用也比较简单,现总结如下,给需要的朋友,如果有什么错误的地方,大家可以一起讨论,因为我也是刚开始用而已。呵呵~ 1、进行整体匹配的判定 #include "pcre++.h" using namespace pcrepp; bool PcreClass::IsOrNotMatch(const char* str,const char * regx) { Pcre regex(regx,"g"); try { regex.search(str); if(regex.matched ())//提供的是否匹配方法,必须与search配合使用 { return true; } else { return false; } } catch(...) { printf("正则表达式异常/n"); return false; } } 2、分割操作:按某一分割符进行分割 #include "pcre++.h" using namespace pcrepp; void PcreClass::BySplit(const char* str,const char* expression,vector &strVector) { Pcre regex(expression, "g"); try { strVector = regex.split(str); } catch(...) { printf("正则表达式异常/n"); } } 注意: **其中,当正则表达式中带括号时,表明括号外的数据保留。** 3、按需要进行截取操作 #include "pcre++.h" using namespace pcrepp; string PcreClass::GetSubStr(const char* str,const char* expression { Pcre regex(expression, "g"); string cmd(str); try { regex.search(str.c_str()); int epos = regex.get_match_end(); int spos = regex.get_match_start(); if (epos > spos) { return cmd.substr(spos,epos-spos+1); } else { return ""; } } catch(...) { cout<<"error!"<
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值