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

boost:regex的有关问题

2012-03-19 
boost::regex的问题如下代码 :string sRegStrUrl Referer: [0-9|a-z|A-Z|:|/|.]{0,}(|/r|\n){1}//用

boost::regex的问题
如下代码 :
string sRegStrUrl = "Referer: [0-9|a-z|A-Z|:|/|.]{0,}(|/r|\n){1}"; //用于匹配URL
boost::regex expressionUrl(sRegStrUrl,boost::regex::perl);

代码在win32下是没有问题的,但是转到linux下编译没问题,但是运行时抛出以下异常:

terminate called after throwing an instance of 'boost::regex_error'
  what(): Empty expression
14:24:40 410620 106
Program received signal SIGABRT, Aborted.
0x00421402 in __kernel_vsyscall ()

请问这是什么原因?如何解决?

[解决办法]
boost版本?貌似空表达式要比较高的版本才支持。
/r算什么?
(|/r|\n){1},空表达式出现一次,这又有什么意义?
[]里有|又有什么意义?
呃,你写的正则让我完全看不懂。
你还是认真看看boost regex的文档或者其它regex的入门教材吧。
[解决办法]

探讨
引用:
楼主使用std::regex试试


regex在std空间是没有定义的。如果改成你那样,编译关就过不去。

热点排行