\s 在 C++ 正则表达式中不起作用

2023-12-04

我昨天开始学习正则表达式,在学习时,我看到 \s 用于空白字符。但是,由于某种原因,每当我输入空格时,C++ 中都不会检测到它。

Code:

#include <iostream>
#include <regex>
using namespace std;

int main() {
  string str;
  cin>>str;

  regex e("a+\\s+b+");
  bool found = regex_match(str,e);
  if (found)
  {
    cout<<"Matched";
  }
  else
  {
    cout<<"No Match";
  }
  return 0;
}

输入:a b
输出:不匹配

https://ideone.com/ULJrkQ

如果我更换\\s with \\w在上面的代码中并输入如下内容:

输入:azb
输出:匹配

http://ideone.com/4yBS4Z

我不明白为什么 \s 根本拒绝工作。我在网上浏览了这个问题的答案,但无法找到到底是什么原因造成的。

我使用带有 GNU/GCC 编译器的 CodeBlocks 16 IDE,在 Windows 上启用了 C++11 支持,在 IDEONE 上启用了 C++14 (GCC 5.1)。

任何帮助将非常感激。谢谢。


只要确保您阅读整行,一种解决方案是使用std::getline(cin, str)代替cin >> str。请参阅工作示例这里有一个 Ideone:

#include <iostream>
#include <regex>
using namespace std;

int main() {
    string str;
    getline(cin, str);

    regex e("a+\\s+b+");

    if (regex_match(str,e)) 
        cout<<"Matched";
    else
        cout<<"No Match";
    return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

\s 在 C++ 正则表达式中不起作用 的相关文章

  • 尝试了解使用服务打开对话框

    我已经阅读了有关使用 mvvm 模式打开对话框的讨论 我看过几个使用服务的示例 但我不明白所有部分如何组合在一起 我发布这个问题寻求指导 以了解我应该阅读哪些内容 以更好地理解我所缺少的内容 我将在下面发布我所拥有的内容 它确实有效 但从我
  • 在 CPP 类中将 C 函数声明为友元

    我需要在 C 函数中使用类的私有变量 我正在做这样的事情 class Helper private std string name public std getName return name friend extern C void in
  • Environment.CurrentDirectory 与 System.IO.Directory.GetCurrentDirectory

    我正在编写一个 Net WinForms 并不断在调试和发布配置之间切换 并且有一些文件我需要任一配置才能访问 我想做的是将文件放在 BIN 文件夹中的公共目录中 这样它看起来像这样 MyProject Bin CommonFiles My
  • 如何在类文件中使用 Url.Action() ?

    如何在 MVC 项目的类文件中使用 Url Action Like namespace 3harf public class myFunction public static void CheckUserAdminPanelPermissi
  • 循环遍历 C 结构中的元素以提取单个元素的值和数据类型

    我有一个要求 我有一个 C 语言的大结构 由大约 30 多个不同数据类型的不同元素组成 typedef struct type1 element1 type2 element2 type3 element3 type2 element4 1
  • 无法注册时间触发的后台任务

    对于 Windows 8 应用程序 在 C Xaml 中 我尝试注册后台任务 很难说 但我想我的后台任务已正确注册 但是当我单击调试位置工具栏上的后台任务名称时 我的应用程序停止工作 没有任何消息 我查看了事件查看器上的日志 得到 具有入口
  • 强制初始化模板类的静态数据成员

    关于模板类的静态数据成员未初始化存在一些问题 不幸的是 这些都没有能够帮助我解决我的具体问题的答案 我有一个模板类 它有一个静态数据成员 必须为特定类型显式实例化 即必须专门化 如果不是这种情况 使用不同的模板函数应该会导致链接器错误 这是
  • 如何使用 ASP.NET Core 获取其他用户的声明

    我仍在学习 ASP NET Core 的身份 我正在进行基于声明的令牌授权 大多数示例都是关于 当前 登录用户的 就我而言 我的 RPC 服务正在接收身份数据库中某个用户的用户名和密码 我需要 验证是否存在具有此类凭据的用户 获取该用户的所
  • 不可变类与结构

    以下是类与 C 中的结构的唯一区别 如果我错了 请纠正我 类变量是引用 而结构变量是值 因此在赋值和参数传递中复制结构的整个值 类变量是存储在堆栈上的指针 指向堆上的内存 而结构变量作为值存储在堆上 假设我有一个不可变的结构 该结构的字段一
  • 在 C# 中为父窗体中的子窗体控件添加事件处理程序

    我有两种形式 一种是带有按钮和文本框的父表单 单击该按钮时 将打开一个对话框 该子窗体又包含一个文本框和一个按钮 现在我想要的是 每当子表单文本框中的文本更改时 父表单文本框中的文本会自动更改 为了获得这个 我所做的是 Form3 f3 n
  • C++ - 多维数组

    处理多维数组时 是否可以为数组分配两种不同的变量类型 例如你有数组int example i j 有可能吗i and j是两种完全不同的变量类型 例如 int 和 string 听起来您正在寻找 std vector
  • 如何最好地以编程方式将 `__attribute__ ((unused))` 应用于这些自动生成的对象?

    In my makefile我有以下目标 它将文本 HTML 资源 编译 为unsigned char数组使用xxd i http linuxcommand org man pages xxd1 html 我将结果包装在匿名命名空间和标头保
  • 如何在 C# 中创建异步方法?

    我读过的每一篇博客文章都会告诉您如何在 C 中使用异步方法 但由于某些奇怪的原因 从未解释如何构建您自己的异步方法来使用 所以我现在有这段代码使用我的方法 private async void button1 Click object se
  • C++ 对象用 new 创建,用 free() 销毁;这有多糟糕?

    我正在修改一个相对较大的 C 程序 不幸的是 并不总是清楚我之前的人使用的是 C 还是 C 语法 这是在一所大学的电气工程系 我们 EE 总是想用 C 来做所有事情 不幸的是 在这种情况下 人们实际上可以逃脱惩罚 但是 如果有人创建一个对象
  • WPF DataGrid / ListView 绑定到数组 mvvm

    我们假设你有 N 个整数的数组 表示行数的整数值 在模型中 该整数绑定到视图中的 ComboBox Q1 如何将数组 或数组的各个项目 绑定到 DataGrid 或 ListView 控件 以便 当您更改 ComboBox 值时 只有那么多
  • Visual Studio 2015 - Web 项目上缺少共享项目参考选项卡

    我从 MSDN 订阅升级到 Visual Studio 2015 因为我非常兴奋地阅读有关共享项目的信息 当我们想要做的只是重用代码时 不再需要在依赖项中管理 21382 个 nuget 包 所以我构建了一个测试共享项目 其中包含一些代码
  • EntityFramework 6.0.0.0 读取数据,但不插入

    我创建了一个基于服务的数据库 folderName gt Add New Item gt Data gt Service based Database文件到 WPF 应用程序中 然后我用过Database First方法并创建了Person
  • 无法将字符串文字分配给装箱的 std::string 向量

    这是我的类型系统的简化版本 include
  • 正则表达式仅允许特定数字

    我正在寻找一个只允许输入特定数字的正则表达式 例如2 4 5 6 10 18 我尝试过类似的东西 2 4 5 6 10 18 我输入的任何内容都无法通过正则表达式 然后计算机用手指着我并大笑 我哪里出错了 单引号是不必要的 您正在寻找的正则
  • MySqlConnectionStringBuilder - 使用证书连接

    我正在尝试连接到 Google Cloud Sql 这是一个 MySql 解决方案 我能够使用 MySql Workbench 进行连接 我如何使用 C 连接MySqlConnectionStringBuilder 我找不到提供这三个证书的

随机推荐

  • 每像素 Alpha 混合

    相当长一段时间以来 我一直在尝试实现某种允许 PNG 图像透明的形式 我正在使用 C 工作 我找到了一个很好的项目 它通过每像素 alpha 混合实现这一点 并通过将图像更改为位图并使用 alpha 层仅显示不透明的部分 然后将其更新为更新
  • Android - 来自 Choreographer 的跳过帧消息

    在我的应用程序中 我收到了来自 Choreographer 的许多跳帧消息 因此 我开始一一检查 当我单击 MainActivity 页面上的默认菜单按钮时 我非常惊讶地看到 76 跳帧 为了找出问题所在 我注释掉了 MainActivit
  • 使用 Hibernate 和 SQL Server 2008 时出现问题

    我在使用 Hibernate 和 SQL Server 2008 时遇到问题 当我尝试将对象保存到数据库时 Hibernate 会抛出以下错误 could not retrieve snapshot com my MyClass Cause
  • 使用 jQuery (window).scroll 淡入淡出 HTML5 音频(调整音量)

    我正在尝试制作一个页面 该页面使用 html5 音频在后台循环播放声音文件 并在用户向下滚动时淡出 理想情况下 当用户向上滚动时 它也会淡入 我知道我还很遥远 但这是我正在处理的事情 html
  • 这是一个类、构造函数还是方法? [复制]

    这个问题在这里已经有答案了 我很难确定这到底是什么 至此 我已经熟悉了方法 构造函数和类声明的样子 这是哪个 为什么看起来像一个构造函数和一个方法生了一个孩子 public Polygon polygonFrom Point corners
  • 简单的日期格式化程序返回不正确的格式。格式化后扣除日期[重复]

    这个问题在这里已经有答案了 我正在尝试使用 SimpleDateFormat 解析日期 日期解析成功但是输出日期格式不正确或者减去了一年 使用SimpleDateFormat的Date方法如下所示 public Date parseDate
  • 具有可更新 JProgressBar 的 Java Swing 线程

    首先 我最近一直在使用 Java 的并发包 但我发现了一个我遇到的问题 我想要一个应用程序并且该应用程序可以有一个SplashScreen带有状态栏和其他数据的加载 所以我决定使用SwingUtilities invokeAndWait c
  • 为什么我的对象打印了两次?

    当我在 irb 或 Rails 中时 我使用以下命令创建一些迭代each 我在终端或浏览器中再次打印整个结构 例子 a 1 2 3 4 a each do number puts n end irb 终端或浏览器中的结果 1 2 3 4 g
  • 调用 object.method() 和 Class.method(object) 时幕后发生了什么?

    我对 Python 还很陌生 正在处理 OOP 我对何时使用对方法和类的调用有点困惑 下面的示例代码输出平均值 但是我很好奇什么时候从类调用与从现实世界的角度使用方法调用 我很确定这只是我可能尚未解决的问题 但对于何时使用其中一个而不是另一
  • 最小购物车金额(WooCommerce 中的几种特定产品除外)

    我正在使用以下代码 Woocommerce 中除特定产品外的最低购物车金额 在我的 php 中 允许覆盖 Woocommerce 最低购物车价值 130 美元 工作正常 但仅适用于一种定义的产品 在这种情况下product id 2649
  • 在 Firebase 中过滤多个子属性的产品

    我最近询问如何根据产品的子属性过滤产品 请参阅 根据 Firebase 中的子项过滤产品 回顾一下我的结构如下 products product1 author 12345 title Awesome category catA descr
  • 如何正确关闭和打开 Hibernate 会话?

    我有以下方法 每隔几秒插入一大批记录 运行一段时间后 我收到如下错误 错误 通信链路故障 从服务器成功接收到的最后一个数据包是 523 毫秒前 最后一个成功发送到服务器的数据包是 8 毫秒前 2013 年 5 月 16 日上午 9 48 3
  • Doctrine2 最佳实践,实体应该使用服务吗?

    我不久前问过类似的问题 使用数据映射器模式 实体 域对象 是否应该了解映射器 然而 它是通用的 并且我对如何使用 Doctrine2 完成一些事情非常感兴趣 这是一个简单的示例模型 每个Thing可以有一个Vote from a User
  • 如何仅在脚本运行期间设置环境变量?

    在 Linux 上 乌班图11 04 Natty Narwhal 在 Bash 中 是否可以临时设置一个仅在脚本运行期间与普通变量不同的环境变量 例如 在 shell 脚本中 通过将 HOME 临时设置为当前工作目录中的文件夹 然后启动该应
  • Xampp 1.7.4 和 PHP 5.3.5(已弃用的警告)

    我刚刚将 Xampp 安装升级到 1 7 4 我有一个工作脚本 jquery 调用 PHP 脚本并显示返回值 升级后 我的 jquery 正确获取了结果 但除了结果之外 还返回了一些警告 因此停止我的脚本以显示结果 我签入了 firebug
  • 如何向 POI 4.0.1 中的 XDDFChart 添加带有第二轴的第二条线?

    我无法在现有图表的第二个轴 右轴 上添加线条 有没有办法通过 POI 4 0 0 1 中图表的新实现来做到这一点 Desired output will look like this A simple excel chart with 2
  • 如何将多个 OpenAPI 3 规范文件组合在一起?

    我想合并使用 OpenAPI 3 规范编写的 API 规范 该规范当前分为多个文件 这些文件相互引用 ref 我怎样才能做到这一点 我最近写了一个快速工具来做到这一点 我称之为 openapi merge 有一个库和一个关联的 CLI 工具
  • 无法在 google cloud ml 上进行预测,而相同的模型正在本地计算机上运行

    我正在尝试使用谷歌云中的张量流库训练机器学习模型 创建存储桶后 我可以在云中训练模型 当我尝试使用现有模型进行预测时 我遇到了这个问题 代码和数据可以在以下 Github 目录中找到 https github com terminator1
  • 使用 createdesktop api 创建桌面的屏幕截图

    我正在使用 createdesktop api 创建桌面 我想截取屏幕截图或发送输入鼠标 键盘而不向用户显示桌面 有关如何实现此功能的任何想法 我发现的简短答案是你不能 您无法拍摄非活动桌面的屏幕截图 因为没有绘画调用 因为没有可见的窗口可
  • \s 在 C++ 正则表达式中不起作用

    我昨天开始学习正则表达式 在学习时 我看到 s 用于空白字符 但是 由于某种原因 每当我输入空格时 C 中都不会检测到它 Code include