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的入门教材吧。
[解决办法]