问题标签 [boost-regex]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 如何在与 boost 正则表达式匹配的字符串中找到索引?
如何在与 boost 正则表达式匹配的字符串中找到索引?
c++ - 链接到 gcc 中的增强正则表达式
我正在尝试编译我在 linux 上使用正则表达式的程序。我通过键入 make -fgcc.mak 在 libs/regex/build 中构建了 boost 库,它创建了一个包含以下四个文件的目录 gcc
现在我想使用我的程序中的正则表达式,它位于某个任意目录中。我#included boost/regex.hpp
我收到错误消息,指出找不到 regex.hpp。然后我在 g++ 编译器中给出了 -I 选项。我没有得到那个错误。但我收到以下错误
我用谷歌搜索,发现我需要以某种方式将上述 4 个库之一链接到我的程序。我该怎么做。我应该链接哪一个,为什么?
c++ - 为什么我的 Boost.Regex 搜索只报告一次匹配迭代?
我试图找出一个字符串中有多少个正则表达式匹配。我正在使用迭代器来迭代匹配,并使用整数来记录有多少。
在我的示例中,count 始终返回 1,即使我将代码放在 for 循环中以显示匹配项(并且有很多)。这是为什么?我究竟做错了什么?
编辑
测试输入:
输出(不匹配):
在 16 毫秒内找到 1 个匹配项。
如果我将 for 循环更改为:
我得到这个作为输出:
c++ - 使用捕获时的 boost::regex 段错误
下面的简单程序出现段错误。它似乎与析构函数match_results有关。
编辑:我正在使用 boost 1.39
c++ - 使用 cygwin 编译 boost 程序的问题
更新:找到了一种编译方法,见下文。
您好,我在 cygwin 下编译 boost 程序时遇到问题。我已经从 cygwin 项目的 setup.exe 安装了默认的 boost 和 g++ 包。
在我的 Linux 系统上,我可以使用以下代码编译程序 reg.cpp:
在 cygwin 上,我必须稍微编辑一下:
问题是 cygwin 版本导致链接器提取一百万个未定义的引用错误。尝试使用 boost 测试框架库时也会发生同样的事情。
链接器正在查找 boost_regex-gcc-mt,但它似乎与包含文件不匹配。这是第一个链接器错误:
如何编译
我在这里找到了解决方案要编译,我执行了以下操作:
根据帖子,它与链接器顺序有关。有人知道为什么这在 cygwin 而不是现代 Linux 中很重要吗?
c++ - Boost.Regex 奇怪
有谁知道为什么以下代码会输出“不匹配”?
regex - TextMate 片段仅镜像匹配的字符
我一直在尝试使用以下代码镜像仅与“a-z0-9”匹配的文本,但未成功:
在片段被选项卡触发后,我希望输入“$test”并看到镜像的“test”。
有什么线索吗?非常感谢!
c++ - C ++,Boost正则表达式,替换匹配值的值函数?
具体来说,我有一个名为 val 的字符串数组,并希望将"%{n}%"
输入中的所有实例替换为val[n]
. 更一般地说,我希望替换值是匹配值的函数。这是在 C++ 中,所以我选择了 Boost,但如果另一个常见的正则表达式库符合我的需求,最好让我知道。
我找到了一些 .NET (C#, VB.NET) 解决方案,但我不知道我是否可以在这里使用相同的方法(或者,如果可以,如何使用)。
我知道有一个丑陋的解决方案:有一个表单的表达式,"(%{0}%)|(%{1}%)..."
然后有一个替换模式,如"(1?" + val[0] + ")(2?" + val[1] ... + ")"
.
但我想知道我正在尝试做的事情是否可以更优雅地完成。
谢谢!
c++ - Boost::Regex DOTALL 标志
boost::regex 是否有一个 DOTALL 匹配标志?文档显示:
但没有提到常规的 DOTALL。
我正在尝试匹配写为的python正则表达式
c++ - 当试图包含 '#include' 我得到:1>LINK:致命错误 LNK1104:无法打开文件 'libboost_regex-vc100-mt-gd-1_39.lib'
不知道为什么会这样,我从这里下载了库,虽然我有一个名为“libboost_regex-vc90-mt-gd-1_39.lib”的库,但我没有一个名为“libboost_regex-vc100-mt-gd-1_39”的库.lib',将 vc90 重命名为 vc100 有效,但我不确定这是否是理想的解决方案?