Chinaunix
标题:
C++正则解析器受哪些环境变量影响?
[打印本页]
作者:
remark
时间:
2014-12-26 18:43
标题:
C++正则解析器受哪些环境变量影响?
vvvvvv.cplusplus.com/reference/regex/regex_match
链接里的例子程序 直接copy到本地编译运行 显示如下结果,和链接里的结果完全不一样 这是什么原因
string literal with 0 matches
string object with 0 matches
环境是SUSE Linux gcc version 4.3.4
作者:
remark
时间:
2014-12-26 18:45
居然不许发url,自己把首个单词替换成3w吧
作者:
remark
时间:
2014-12-26 19:11
#include <iostream>
#include <boost/xpressive/xpressive.hpp>
using namespace std;
using namespace boost:
pressive;
int main(int argc, char* argv[])
{
string str = "a+b+c+df";
cregex reg = cregex::compile("\\w+", icase);
//cregex reg = +_w;
assert(regex_search(str.c_str(), reg));
cmatch what;
regex_match(str.c_str(), what, reg);
cout << what.size() << endl;
return 0;
}
从一本书上抄来一段,运行居然也什么也匹配不到
作者:
fender0107401
时间:
2014-12-27 10:00
这个不受环境变量影响吧。
作者:
remark
时间:
2014-12-27 14:57
回复
4#
fender0107401
应该是,但我实在想不出别的原因了
作者:
myworkstation
时间:
2014-12-29 20:09
回复
1#
remark
你怎么编译过去的。gcc 4.9才支持c++11的<regex>。
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53631
作者:
remark
时间:
2014-12-30 11:34
本帖最后由 remark 于 2014-12-30 11:36 编辑
回复
6#
myworkstation
编译时根据提示加了个 -std=c++0x 就编过去了
问题已解决,match是整体匹配 search是部分匹配
作者:
zsszss0000
时间:
2014-12-30 12:01
regrex特性是否就是可以使用C++进行正则匹配呢?
回复
6#
myworkstation
作者:
myworkstation
时间:
2015-01-06 10:34
回复
8#
zsszss0000
是的,不过如果没有c++11的支持,也可以看看是否支持tr1,tr1也有regex
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2