gpt4 book ai didi

C++ 2011 std::regex 根本不起作用

转载 作者:行者123 更新时间:2023-11-28 03:14:38 25 4
gpt4 key购买 nike

<分区>

首先我要为我的英语道歉。

我在一个小型 C++ 项目中工作,我希望它保持小型化。主要问题是我需要使用正则表达式,但它们无法按我需要的方式工作。

这很好用:

std::string s ("subject");
std::regex e ("(sub)(.*)");
if (std::regex_match (s,e))
std::cout << "string object matched\n";

这个也很好用:

std::string s ("0");
std::regex e ("[0-9]", std::regex::extended);
if (std::regex_match (s,e))
std::cout << "string object matched\n";

即使我将 std::regex::extended 更改为 std::regex::awk、basic 或此代码不起作用的任何内容:

std::string s ("00");
std::regex e ("[0-9]{2}", std::regex::extended);
if (std::regex_match (s,e))
std::cout << "string object matched\n";

我做错了什么吗?

我知道 std::regex 还没有完成,但我认为它们应该在这样一个简单的正则表达式中工作。

无论如何,如果有人能给我一个小的正则表达式库(请不要提升),我将不胜感激。

附加信息

我正在使用 Linux Ubuntu 12.10,编译器是 gcc > 4.7

编辑:

@jalf:它可以编译,但在最后一个中给了我一个错误的结果。它给出了一个错误。无法显示任何结果,因为我今天在客户端,我无权访问该程序。

@KennyTM:是的,又是 gcc/libstdc++,我一直在阅读这个论坛寻找答案。同样,我不能使用 boost。

@Pete Becker:是的,它是 gcc > 4.7 版本。不记得确切的版本。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com