如果给定空白正则表达式,则 regex_replace 中的 C++ Mac OS 无限循环

2024-03-27

执行后...

std::regex_replace("the string", std::regex(""), "doesn't matter");

...我的 Mac 将无限期挂起。我是 xcode 新手,但我认为我正确使用它。我在调试程序时点击“暂停”,发现最后执行的代码位于正则表达式库的深处。我需要空白正则表达式才能工作,因为用户可能输入空白。

这不会发生在 Windows 上(我正在开发跨平台)。

这不会发生在std::regex_match().


至于根本原因,请参见正则表达式.cpp源代码 http://www.opensource.apple.com/source/libcpp/libcpp-31/src/regex.cpp at 苹果开源 http://www.opensource.apple.com/:

case regex_constants::__re_err_empty:
    return "An empty regex is not allowed in the POSIX grammar.";

因此,您必须检查用户输入并禁止传递空字符串来创建正则表达式对象。

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

如果给定空白正则表达式,则 regex_replace 中的 C++ Mac OS 无限循环 的相关文章

  • 起订量要求?违背了目的?

    是否需要虚拟化您想要模拟的所有属性访问器就违背了模拟的目的 我的意思是 如果我必须修改我的对象并虚拟化我想要模拟的每个访问器 我难道不能继承我的类并自己模拟它吗 你的问题非常有效 但如果你仔细想想 没有其他方法可以模拟课程 如果你采用一个接
  • 获取 std::variant 当前持有的 typeid(如 boost::variant type())

    我已经从 boost variant 迁移到 std variant 但遇到了障碍 我在 boost type 中使用了一个很好的函数 它可以让你获取当前持有的 typeid 看https www boost org doc libs 1
  • 键盘加速器在 UWP 应用中停止工作

    我正在尝试将键盘加速器添加到 UWP 应用程序中的 CommandBar 菜单项 当应用程序启动时 这工作正常 但在我第一次打开溢出菜单后 加速器停止工作 这似乎不会发生在主要命令 菜单之外 上 只有溢出菜单内的辅助命令才会发生 此外 单击
  • 是否允许将类模板类型参数键入相同的名称?

    这似乎可以在 MSVC 中按预期编译甚至工作 但它是合法的 C 代码吗 它是否能保证执行此处所期望的操作 即将模板类型导出到结构体的同名用户 template
  • 找到的程序集的清单定义与程序集引用不匹配

    我试图在 C Windows 窗体应用程序 Visual Studio 2005 中运行一些单元测试 但出现以下错误 System IO FileLoadException 无法加载文件或程序集 实用程序 版本 1 2 0 200 文化 中
  • Qt 计算和比较密码哈希

    目前正在 Qt 中为测验程序构建面向 Web 的身份验证服务 据我了解 在数据库中存储用户密码时 必须对其进行隐藏 以防落入坏人之手 流行的方法似乎是添加的过程Salt https en wikipedia org wiki Salt cr
  • 序列化和反序列化 Visual Studio 解决方案文件 - 或以编程方式编辑?

    我想以编程方式添加和删除项目 解决方案文件夹和其他项目 例如解决方案的资源文件 但我不确定最好的方法是什么 对于那些不知道的人 高度简化 解决方案文件 sln 通常如下所示 Microsoft Visual Studio Solution
  • 单线程公寓问题

    从我的主窗体中 我调用以下命令来打开一个新窗体 MyForm sth new MyForm sth show 一切都很好 但是这个表单有一个组合框 当我将其 AutoCompleteMode 切换为建议和追加时 我在显示表单时遇到了这个异常
  • 指向字节数组的指针

    由于 Misra C 的要求 我的一位同事想要使用指针声明 但我遇到了一些问题 Misra 安全关键指南 不会让我们纯粹的程序员使用指针 但会让我们对数组字节进行操作 他打算获取一个指向字节数组的指针 因此我们不会在堆栈上传递实际的数组 T
  • 手动将 ClientBase 集合类型从 Array[] 更改为 List<>

    我将自己的 WCF 代理与 Client Base 一起使用 我想做一些类似于 svc util 中的 ct 属性的操作 并告诉代理返回 List 集合类型 我不能使用 List 因为实体由 nhibernate 管理 所以我必须使用 IL
  • 更改 IdentityServer4 实体框架表名称

    我正在尝试更改由 IdentityServer4 的 PersistedGrantDb 和 ConfigurationDb 创建的默认表名称 并让实体框架生成正确的 SQL 例如 而不是使用实体IdentityServer4 EntityF
  • C#中Enum中定义的value__是什么

    What value 可能在这里 value MSN ICQ YahooChat GoogleTalk 我运行的代码很简单 namespace EnumReflection enum Messengers MSN ICQ YahooChat
  • dropdownlist DataTextField 由属性组成?

    有没有一种方法可以通过 C 使 asp net 中的下拉列表的 datatextfield 属性由对象的多个属性组成 public class MyObject public int Id get set public string Nam
  • 从事务范围调用 WCF 服务方法

    我有这样的代码 using TransactionScope scope TransactionScopeFactory CreateTransactionScope some methodes calls for which scope
  • 如何在维护数据的同时升级 docker 容器中的 postgres? 10.3 到最新的 10.x 或 12.x

    我的生产和本地主机中有一个 10 3 postgres docker 容器 在之前的一个question https stackoverflow com a 62789347 80353 我必须恢复在 10 5 中存档的转储 感谢您的回答
  • “int i=1,2,3”和“int i=(1,2,3)”之间的区别 - 使用逗号运算符的变量声明[重复]

    这个问题在这里已经有答案了 int i 1 2 3 int i 1 2 3 int i i 1 2 3 这些说法有什么区别 我无法找出任何具体原因 Statement 1 Result Compile error 运算符的优先级高于 运算符
  • 纯虚函数可能没有内联定义。为什么?

    纯虚函数是那些虚函数并且具有纯说明符 0 第 10 4 条第 2 款C 03 的内容告诉我们什么是抽象类 顺便说一句 如下 注意 函数声明不能 同时提供纯说明符和定义 尾注 示例 struct C virtual void f 0 ill
  • 如何设置 CMake 与 clang 交叉编译 Windows 上的 ARM 嵌入式系统?

    我正在尝试生成 Ninja makefile 以使用 Clang 为 ARM Cortex A5 CPU 交叉编译 C 项目 我为 CMake 创建了一个工具链文件 但似乎存在错误或缺少一些我无法找到的东西 当使用下面的工具链文件调用 CM
  • 无法使 Polly 超时策略覆盖 HttpClient 默认超时

    我正在使用 Polly 重试策略 并且正如预期的那样 在重试过程中HttpClient达到 100 秒超时 我尝试了几种不同的方法来合并 Polly 超时策略 将超时移至每次重试而不是总计 但 100 秒超时仍然会触发 我读过大约 5 个
  • FindAsync 很慢,但是延迟加载很快

    在我的代码中 我曾经使用加载相关实体await FindAsync 希望我能更好地遵守 C 异步指南 var activeTemplate await exec DbContext FormTemplates FindAsync exec

随机推荐

  • 如何使用 Pipeline 引用 Jenkinsfile 目录?

    我有一个 groovy 文件 我想从 Jenkinsfile 运行 ie load script groovy 但是 如果该文件与 Jenkinsfile 存储在同一目录中 我不确定如何引用该文件 我正在从 git 加载 Jenkinsfi
  • 使用 stripplot 在 seaborn 中用中线绘制点

    我在seaborn中有以下情节 df pandas DataFrame sample X X X Y Y Y value 0 2 0 3 0 4 0 7 0 75 0 8 rep a b c a b c plt figure ax sns
  • 在 HQL 或 Criteria 中获取 DATEPART?

    如何使用 HQL 或 Criteria 获取时间的 DATEPART 我用谷歌搜索并得到了一些提示 但还不够 如果有人以前经历过 请告诉我们 提前致谢 看看这篇关于在nhibernate中使用sql函数 http ayende com Bl
  • mySQL 每日从一个表备份到另一个表

    如果我有两个具有相同定义的表 我将如何每天备份其中的数据 我可以使用 mySQL Administrator 执行类似的操作吗 每天中午 12 00 将 main table 中的所有行复制到 backup table 如果是增量备份会更好
  • Android 上的辅助功能测试自动化

    我最近开始研究 Android 上的自动化辅助功能测试 网络上没有太多信息 有人探索过这个或者目前正在这样做吗 如果是这样 您能分享您的想法 方法吗 似乎 Android 的 uiautomator 依赖于辅助功能来工作 但它不支持测试辅助
  • FullCalendar:事件最初未从函数调用(AJAX)渲染

    我已将 FullCalendar 配置为从 AJAX 请求中提取其事件 但首次加载页面时它们不会在日历上呈现 document ready function sh1client new Array sh2client new Array s
  • 为什么回调在 Ruby on Rails 中使用符号

    我很难理解何时以及何时不应该在 Rails 中使用符号 我知道符号与没有许多方法的字符串并没有太大不同 我还知道这些符号是很好的键 因为同名的符号在内存中占据一个地址 我很难理解为什么 Rails 决定在某些情况下使用符号 如果我有回调 b
  • 主机名未使用 Winsock 转换为 IP 地址

    getaddrinfo 不会将主机名转换为 IP 地址 因此不会connect 到服务器 我的实现有问题吗 编译时没有警告消息 这个函数调用的是connect正确的 connect client result gt ai addr resu
  • 在 Python 中编写仅附加 gzip 日志文件

    我正在构建一项服务 在其中记录来自多个源的纯文本格式日志 每个源一个文件 我不打算轮换这些日志 因为它们必须永远存在 为了使这些永远存在的文件更小 我希望我可以在飞行中对它们进行 gzip 压缩 由于它们是日志数据 因此文件压缩得很好 在
  • 当对象包含 ng-repetate 时,如何使用 angularFire 保存 Firebase 对象 $asArray()

    我最近从 angularfire 0 6 切换到 0 8 0 我在保存包含数组本身的列表项时遇到问题 我的对象account看起来像这样 JQruasomekeys0nrXxH created 2014 03 23T22 00 10 176
  • Python 与格式 '%Y-%m-%dT%H:%M:%S%Z.%f' 不匹配

    我尝试在Python中将字符串转换为日期时间对象 但我找不到我的格式有任何问题 Y m dT H M S Z f import datetime datetime datetime strptime 2019 11 19T17 22 23
  • 使用 getFilesDir() 时应用程序上下文返回 null

    我不知道为什么会发生这种情况 当我检查 DDMS 时也没有文件目录 我正在尝试在我的应用程序子类中访问此文件夹 知道为什么会发生这种情况吗 我需要应用程序上下文是全局的 这样我就可以在不扩展 Activity 的类上使用 package m
  • Selenium-Webdriver:找到元素后获取属性

    我对自动化的东西还很陌生 所以这听起来像是一个愚蠢的问题 在发布问题之前 我确实用谷歌搜索了它 不管怎样 问题就在这里 我正在 Android 设备上进行自动化测试 其中一项测试是验证某个项目是否已被标记为 收藏夹 页面代码片段为 li c
  • Android Studio 2.3 错误:无法加载类“com.google.common.collect.ImmutableSet”

    大家 突然 当我打开现有项目时 出现错误 错误 无法加载类 com google common collect ImmutableSet 导致此意外错误的可能原因包括 格拉德尔的 依赖项缓存可能已损坏 这有时会在网络连接后发生 连接超时 重
  • 创建基类对象的向量并在其中存储派生类对象

    我正在尝试创建一个员工数据库 员工向量 有 3 种类型的员工 即 Employees 是基类 Manager Engg 和 Scientist 是派生类 每个员工都有名字和姓氏 除了名字之外 这 3 种类型的员工中的每一种都有独特的统计数据
  • javascript date.utc 问题

    我正在尝试使用 javascript 比较 2 个日期 月末 1 个 月初 1 个 我需要以秒为单位比较这两个日期 因此我使用 Date UTC javascript 函数 这是代码 var d Date UTC 2010 5 31 23
  • 实体框架中推荐的身份生成方法是什么?

    我对 StoreGeneratePattern 的最高效的方式感兴趣 过去我习惯让数据库为我生成ID 但我想知道设置是否有任何优势 StoreGeneratedPattern None 代替 StoreGeneratedPattern Id
  • Demean R 数据框

    我想贬低 R 中的多列data frame 使用来自的示例这个问题 https stats stackexchange com questions 46978 fixed effects using demeaned data why di
  • android maven插件在Eclipse中没有获取ANDROID_HOME环境变量

    我正在开发一个 Android 应用程序项目 它是一个 Maven 项目 当我尝试作为 maven install 运行时 这就是我得到的 无法在项目 android client 上执行目标 com jayway maven plugin
  • 如果给定空白正则表达式,则 regex_replace 中的 C++ Mac OS 无限循环

    执行后 std regex replace the string std regex doesn t matter 我的 Mac 将无限期挂起 我是 xcode 新手 但我认为我正确使用它 我在调试程序时点击 暂停 发现最后执行的代码位于正