Boost的regex和DEELX的正则表达式库,不是说都支持perl语言的正则语法么,咋么差距有点大?

润城 2013-07-31 05:16:09
//使用boost的regex,#include"boost/regex.hpp"
boost::regex reg("([a-zA-Z]+:\\/{0,2}){0,1}((\\w+(\\.{0,1}))*)*(\\/{0,1}.+)", boost::regex::icase | boost::regex::perl);
std::string s = "www.baidu.com/index.html";
string s2 = boost::regex_replace(s,reg,"$2");
std::cout<<"2:"<< s2<<endl; //输出结果为空:

//使用Deelx的正则表达式库#include "deelx.h"
static CRegexpT <char> regexp("([a-zA-Z]+:\\/{0,2}){0,1}((\\w+(\\.{0,1}))*)*(\\/{0,1}.+)");
char* ps1 = "www.baidu.com/index.html";
char* ps2 = regexp.Replace(ps1,"$2");
cout<<"ps2:"<<ps2<<endl; //输出结果为:www.baidu.com
//差距怎么这么大呢???不都说兼容perl的正则表达式语法么?
...全文
314 4 打赏 收藏 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
润城 2013-08-01
  • 打赏
  • 举报
回复
/转与不转都可以,我用Regex Match Tracer 测试了
taodm 2013-08-01
  • 打赏
  • 举报
回复
Regex Match Tracer 能代表boost?
taodm 2013-07-31
  • 打赏
  • 举报
回复
/需要转义么?
赵4老师 2013-07-31
  • 打赏
  • 举报
回复
这个世界上最大的差别和最远的距离都存在于“说”和“做”之间。
源码直接下载地址: https://pan.quark.cn/s/0c43ed5159df 本资源为HCDA认证培训教程,旨在面向准备参加HCDA考试的学员,或希望掌握TCP/IP基础、路由、交换技术、广域网、以太网技术基本原理以及华为通用路由平台VRP上实现的相关内容。具体涵盖的模块包括:Module 1-网络互联基础、Module 2-路由和路由协议基础与实现、Module 3-以太网交换技术基础与实现、Module 4-广域网技术基本原理与实现、Module 5-网络安全基础、Module 6-华为数通产品概述 ### 华为-NAT技术详解 #### 一、概述 NAT(Network Address Translation,网络地址转换)是一种在专用网络内部使用私有IP地址的情况下,使这些设备能够通过公有IP地址进行外部通信的技术手段。NAT技术在多种网络环境中得到广泛应用,特别是在企业网络中发挥着关键性作用。作为HCDA认证培训教程的一部分,本文档将系统性地阐述NAT的基础理论及其实现方法,并深入探讨在华为VRP平台上的具体应用场景。 #### 二、NAT处理流程 NAT处理流程主要包含两种类型:基于源IP地址和基于目的IP地址的处理模式。 ##### 1. 基于源IP地址的NAT处理 **1.1 一对一NO-PAT** 一对一NO-PAT即非端口地址转换(No-Port Address Translation),在这种模式下,一个私有IP地址对应一个公有IP地址,不涉及端口号的转换。当配置了NAT no-pat时,华为设备会为已配置的多通道协议产生的实际流量数据建立server-map表项。这种方式适用于需要固定公网IP的服务器等场景。 **1.2 多对一...

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧