问题标签 [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.

0 投票
2 回答
4272 浏览

c++ - 如何在与 boost 正则表达式匹配的字符串中找到索引?

如何在与 boost 正则表达式匹配的字符串中找到索引?

0 投票
2 回答
24201 浏览

c++ - 链接到 gcc 中的增强正则表达式

我正在尝试编译我在 linux 上使用正则表达式的程序。我通过键入 make -fgcc.mak 在 libs/regex/build 中构建了 boost 库,它创建了一个包含以下四个文件的目录 gcc

现在我想使用我的程序中的正则表达式,它位于某个任意目录中。我#included boost/regex.hpp

我收到错误消息,指出找不到 regex.hpp。然后我在 g++ 编译器中给出了 -I 选项。我没有得到那个错误。但我收到以下错误

我用谷歌搜索,发现我需要以某种方式将上述 4 个库之一链接到我的程序。我该怎么做。我应该链接哪一个,为什么?

0 投票
4 回答
3278 浏览

c++ - 为什么我的 Boost.Regex 搜索只报告一次匹配迭代?

我试图找出一个字符串中有多少个正则表达式匹配。我正在使用迭代器来迭代匹配,并使用整数来记录有多少。

在我的示例中,count 始终返回 1,即使我将代码放在 for 循环中以显示匹配项(并且有很多)。这是为什么?我究竟做错了什么?

编辑

测试输入:

输出(不匹配):

在 16 毫秒内找到 1 个匹配项。

如果我将 for 循环更改为:

我得到这个作为输出:

0 投票
4 回答
1770 浏览

c++ - 使用捕获时的 boost::regex 段错误

下面的简单程序出现段错误。它似乎与析构函数match_results有关。

编辑:我正在使用 boost 1.39

0 投票
2 回答
1548 浏览

c++ - 使用 cygwin 编译 boost 程序的问题

更新:找到了一种编译方法,见下文。

您好,我在 cygwin 下编译 boost 程序时遇到问题。我已经从 cygwin 项目的 setup.exe 安装了默认的 boost 和 g++ 包。

在我的 Linux 系统上,我可以使用以下代码编译程序 reg.cpp:

在 cygwin 上,我必须稍微编辑一下:

问题是 cygwin 版本导致链接器提取一百万个未定义的引用错误。尝试使用 boost 测试框架库时也会发生同样的事情。

链接器正在查找 boost_regex-gcc-mt,但它似乎与包含文件不匹配。这是第一个链接器错误:

如何编译

我在这里找到了解决方案要编译,我执行了以下操作:

根据帖子,它与链接器顺序有关。有人知道为什么这在 cygwin 而不是现代 Linux 中很重要吗?

0 投票
1 回答
297 浏览

c++ - Boost.Regex 奇怪

有谁知道为什么以下代码会输出“不匹配”?

0 投票
1 回答
143 浏览

regex - TextMate 片段仅镜像匹配的字符

我一直在尝试使用以下代码镜像仅与“a-z0-9”匹配的文本,但未成功:

在片段被选项卡触发后,我希望输入“$test”并看到镜像的“test”。

有什么线索吗?非常感谢!

0 投票
1 回答
1152 浏览

c++ - C ++,Boost正则表达式,替换匹配值的值函数?

具体来说,我有一个名为 val 的字符串数组,并希望将"%{n}%"输入中的所有实例替换为val[n]. 更一般地说,我希望替换值是匹配值的函数。这是在 C++ 中,所以我选择了 Boost,但如果另一个常见的正则表达式库符合我的需求,最好让我知道。

我找到了一些 .NET (C#, VB.NET) 解决方案,但我不知道我是否可以在这里使用相同的方法(或者,如果可以,如何使用)。

我知道有一个丑陋的解决方案:有一个表单的表达式,"(%{0}%)|(%{1}%)..."然后有一个替换模式,如"(1?" + val[0] + ")(2?" + val[1] ... + ")".

但我想知道我正在尝试做的事情是否可以更优雅地完成。

谢谢!

0 投票
1 回答
1399 浏览

c++ - Boost::Regex DOTALL 标志

boost::regex 是否有一个 DOTALL 匹配标志?文档显示:

但没有提到常规的 DOTALL。

我正在尝试匹配写为的python正则表达式

0 投票
1 回答
1655 浏览

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 有效,但我不确定这是否是理想的解决方案?