相关疑难解决方法(0)

C++:我应该使用什么正则表达式库?

我正在开发一个在基于linux的系统上运行的商业(非开源)C++项目.我需要在C++代码中做一些正则表达式.(我知道:我现在有2个问题.)

问题:经常从C/C++开始使用正则表达式的人建议我查看哪些库?快速搜索引起了我的注意:

1)Boost.Regex(我需要阅读Boost软件许可证,但这个问题与软件许可证无关)

2)C(不是C++)POSIX正则表达式(#include <regex.h>,regcomp,regexec等)

3)http://freshmeat.net/projects/cpp_regex/ (我对此一无所知;似乎是GPL,因此无法在此项目中使用)

c++ regex linux

106
推荐指数
8
解决办法
11万
查看次数

关于正则表达式的gcc 4.8或更早的bug吗?

我试图在C++ 11代码中使用std :: regex,但看起来支持有点儿错误.一个例子:

#include <regex>
#include <iostream>

int main (int argc, const char * argv[]) {
    std::regex r("st|mt|tr");
    std::cerr << "st|mt|tr" << " matches st? " << std::regex_match("st", r) << std::endl;
    std::cerr << "st|mt|tr" << " matches mt? " << std::regex_match("mt", r) << std::endl;
    std::cerr << "st|mt|tr" << " matches tr? " << std::regex_match("tr", r) << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

输出:

st|mt|tr matches st? 1
st|mt|tr matches mt? 1
st|mt|tr matches tr? 0
Run Code Online (Sandbox Code Playgroud)

当使用gcc(MacPorts gcc47 4.7.1_2)4.7.1编译时,使用

g++ *.cc -o test -std=c++11 …
Run Code Online (Sandbox Code Playgroud)

c++ regex gcc libstdc++ c++11

98
推荐指数
2
解决办法
3万
查看次数

GCC 4.9支持正则表达式的哪一部分?

我不懂.GCC应该支持但是符合他们的 http://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.tr1

状态页面"不支持7个正则表达式".

但是在"28正则表达式" - 它们被检查为支持

http://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.2011

你能解释一下什么是标准,什么不是?

regex c++11 gcc4.9

2
推荐指数
1
解决办法
8534
查看次数

标签 统计

regex ×3

c++ ×2

c++11 ×2

gcc ×1

gcc4.9 ×1

libstdc++ ×1

linux ×1