非常基本的正则表达式场景与我对 libstdc++-v3 的期望不同

2024-05-27

我得到的行为与我的预期不同(也与 Microsoft C++ 不同)。

考虑以下 test.cpp 文件:

#include <iostream>
#include <ostream>
#include <regex>

int main( void )
{
    std::regex rx( "a(b+)(c+)d" );
    std::string s( "abbbbccd" );
    std::smatch m;

    bool f = regex_match( s, m, rx );
    std::cout << std::boolalpha << f << std::endl;
    if( f ) {
        std::cout << "m[1]=" << m[1] << std::endl;
        std::cout << "m[2]=" << m[2] << std::endl;
    }

    return 0;
}

在我的 Ubuntu Oneiric 盒子上,记下我如何编译程序,并记下我从 a.out 获得的输出:

$ g++ -std=c++0x test.cpp
$ ./a.out
true
m[1]=abbbb
m[2]=bcc

另一方面,在我的 Windows 计算机上,使用 Visual Studio 2010 我:

C:> cl /EHsc test.cpp
C:> test.exe
true
m[1]=bbbb
m[2]=cc

我不是专家,但 Microsoft Visual Studio 似乎是正确的答案。这是一个非常基本的场景,所以我想知道发生了什么。我不敢相信这是一个错误,我不敢相信这是 MS 和 GNU 之间在如此基本层面上的根本分歧。我怀疑我的配置或命令行中存在某些内容。在安装默认的 Ubuntu 11.10 客户端和“apt-get install build-essentials”后,我获得了 g++ 编译器和标头。

可能是我缺少的编译开关,或者 MS 和 GNU 之间的根本分歧


<regex>libstdc++ 中仍未实现:http://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.2011 http://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.2011

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

非常基本的正则表达式场景与我对 libstdc++-v3 的期望不同 的相关文章

随机推荐

  • Java ArrayList 的 (ArrayList).toString 的相反是什么?

    我正在使用toString的方法ArrayList储藏ArrayList数据到字符串中 我的问题是 我该如何走另一条路 是否有现有的方法可以解析中的数据String实例返回到ArrayList 最简洁的答案是不 没有简单的方法可以从字符串中
  • “composer”在 Windows 服务器中未被识别为内部或外部命令

    我使用的是Windows Server 2008操作系统 我下载作曲家安装程序 exe https getcomposer org download 并安装到我的电脑上 当我尝试时composer install 我收到错误 compose
  • Spring security:在 3.1 中,仅针对“GET”请求绕过安全过滤器

    我希望我的服务仅对传入的 POST PUT DELETE 请求执行身份验证 并绕过任何 GET 请求 Spring 版本低于 3 1 具有 filters none 属性 可用于绕过特定 URL 模式的所有安全过滤器 在 3 1 中 fil
  • 有没有办法限制 React-Native 中 TextInput 的长度?

    我一直在尝试使我的程序不允许您在 TextInput 组件中输入超过一定数量的字符 类似于 maxLength 对于输入的工作方式 我还没有找到任何类似的 textInput 的 maxLength 有没有一种简单的方法来设置 组件的最大字
  • PowerShell 输出在函数之间交叉

    我正在 Windows 10 上的 5 1 版本中编写一个 PowerShell 脚本 该脚本获取有关本地系统 以及最终其子网 的某些信息并将其输出到文本文件中 起初 我将所有方面都集中在一个函数中 我在输出时遇到了输出问题getUsers
  • 更改 .cpp、.h 文件的 Visual Studio 默认路径

    我希望 Visual Studio 自动将我的 h 文件放入文件夹 ProjectPath include 中 并将我的 src 文件放入 ProjectPath src 中 这样 如果我使用 创建类向导 它会默认放置好路径 而无需更改文件
  • 使用 py2neo 从 csv 文件创建 neo4j 图形数据库

    我目前正在攻读博士课程 并且对 Py2neo 很感兴趣 因此我使用它来使用社交图谱进行一些实验 然而我遇到了新手麻烦 抱歉问这些简单的问题 我得到了一个 xml 数据集 其中包含有关期刊出版物的数据 我已将其转换为 csv 表 大约有 70
  • CSS 中的重叠图像

    如何让 mymessage gif 显示在 bread wine jpg 之上 mymessage gif 具有透明背景
  • 如何配置 Angular2 Quickstart 来运行 phantomjs?

    我想弄清楚如何运行测试Angular2 快速入门 https github com angular quickstart与 phantomjs 我认为这些步骤足以配置 Karma 1 克隆存储库 git clone https github
  • 图像预加载不适用于 FireFox 中的图像

    我正在动态切换背景图像 当然 它们需要预加载才能及时显示 我正在预加载它们 我能够在图像加载时在 FireBug 中进行跟踪 当背景图像切换时 我看到图像在 FireBug 中再次下载 这是我的网址 http www morganpacka
  • 发送邮件时PEAR邮件验证失败

    由于我发现 PHP 中内置的邮件功能存在安全漏洞 因此我尝试使用 PEAR 我已经在本地主机 WAMP 服务器 2 2 上安装并进行了必要的配置 但是 每次我尝试发送电子邮件时 都会显示以下消息 error authentication f
  • 如何将 UIImage 和 UILabel 合并为一张图像并保存

    我有 2 个 UILabels 和 2 个图像 我需要将它们合并到一个 UIImage 中进行保存 我知道我可以用屏幕截图来做到这一点 但我的主图像是圆形的 所以如果我对其进行校正 它仍然会显示锐利的边缘 我可以这样做来组合图像 CGSiz
  • if let 不解开 MKAnnotation 的 title 属性的可选值

    我想用 if let 语句解开可选值 我需要获得 MKAnnotation 的标题 func mapView mapView MKMapView didSelect view MKAnnotationView if let title vi
  • 当 RecyclerView 适合屏幕时不要折叠工具栏

    我用它制作了一个应用程序Android设计库 带有工具栏和 TabLayout 实际上有 2 个选项卡 都带有 2 个 RecyclerView 滚动时会自动折叠工具栏 我的问题是 当 RecyclerView 项目很少且完全适合屏幕 如
  • 窗口服务中的全局处理异常

    我有一个 Windows 服务作为服务器运行 但是 服务器有时会因未处理的错误而立即停止 请帮助我如何处理全局异常 谢谢 在我看来 你似乎试图以错误的方式解决问题 当您的程序 或服务 由于未处理的错误而崩溃时 解决方案不是弄清楚在哪里以及如
  • 使用 python3 和请求登录 Twitter

    我正在开发一个项目 要求使用用户名和密码登录网站 我必须在 python 中执行此操作 然后才能访问只有登录人员才能访问的网站部分 我尝试了几种编码变体来执行此操作 但无法成功登录然而 这是我的编码 登录它的功能 def 会话2 url r
  • iOS WebView 空白

    我已使用 YouTube 的标准嵌入网址在我的 iOS 8 3 应用程序中嵌入了 YouTube 视频 sample http www youtube com embed HkAK9QRe4ds 它按预期工作 但看起来很奇怪 那个白色间隙
  • Jquery 条件适用于除 safari 之外的所有浏览器

    在 iPhone 和 iPad 上的 Safari 中 我为条件语句设置的选择器不起作用 并且会导致每个 ajax 请求出现重复的内容 它在 android chrome firefox ie 和桌面版 safari 上运行良好 li mi
  • java中的高亮文本

    我们正在开发抄袭检测框架 在那里我必须强调文档中可能抄袭的短语 首先对文档进行预处理 包括停用词删除 词干提取和数字删除 因此 预处理标记的突出显示变得困难 作为和示例 原文 极限编程是敏捷软件开发的一种方法 它强调在短开发周期 称为时间盒
  • 非常基本的正则表达式场景与我对 libstdc++-v3 的期望不同

    我得到的行为与我的预期不同 也与 Microsoft C 不同 考虑以下 test cpp 文件 include