问题标签 [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 投票
1 回答
470 浏览

php - PHP`preg_match_all`函数的Boost::regexp模拟是什么?

所以我有这样的 php 函数,我想翻译成 C++:

使用示例:

(内容是 的结果$content= curl_exec($curl);

preg_match_all- 搜索主题中与模式中给出的正则表达式的所有匹配项,并按照标志指定的顺序将它们放入匹配项中。找到第一个匹配后,从最后一个匹配的末尾继续进行后续搜索。

如何使用 boost::regexp 翻译它?

0 投票
1 回答
952 浏览

c++ - Boost regexp如何将Cookie字符串解析为地图?

所以 Cookie 字符串看起来像remixsettings_bits=1; wysiwyg=1,2,3,abc; remixclosed_tabs=0; remixgroup_closed_tabs=786432; remixlang=0; remixchk=5; remixsid=35d4f9907281708019490d07728c27ca5c10e5de7a869c322222225e3219e; audio_vol=100 我想知道如何将 tham 解析为 map name<-> value

0 投票
1 回答
559 浏览

php - Boost regexp 如何将这样的 PHP unescape 函数转换为 C++?

当我必须在 PHP 中创建 CMS 时,我创建了如下所示的简单unescape html函数:

如何使用Boost.Regex将其翻译成 C++ ?

0 投票
2 回答
907 浏览

c++ - 在 Win32 上使用 icu u32_regex 内存泄漏/缓存来提升

当使用启用了可选 ICU 支持的 boost regex 类时(有关详细信息,请参阅boost 文档),我似乎遇到了内存泄漏,或者说发生了某种内存缓存,我似乎无法重置/清理。

有没有其他人看到这个并且可能知道清除缓存的方法,以便 boost 单元测试框架不会报告内存泄漏?

我的问题的详细信息是:-

虽然我确实尝试过使用 icu 4.2.1 的 boost 1.42,但我碰巧在我的系统上构建了相同的结果,所以不要认为这是一个可以通过更改为 boost 1.47 icu 4.8.1 来解决的问题,这是最新版本。

编译以下代码(Test.cpp):-

可以通过以下方式从命令行编译:-

为您的机器提供适当的头文件/库路径

如果没有路径,则将相应的 boost dll 复制到包含 test.exe 的目录(boost_regex-vc100-mt-gd-1_45.dll 和 boost_unit_test_framework-vc100-mt-gd-1_45.dll)

运行上述步骤中的 test.exe 时,我得到:-

我猜 icu 实际上是这里的罪魁祸首,因为它的名字在第二个街区的开头。

仅进行第一次测试(即仅创建标准正则表达式而不是 u32_regex)未检测到内存泄漏。

在测试中添加多个 u32_regex 不会导致更多内存泄漏。

我尝试按照icu 文档使用 u_cleanup() 调用来清理 icu 缓存,请参阅 ICU 初始化和终止部分。

但是我对 icu 库不是很熟悉(实际上我只是在使用它,因为我们想要支持 unicode 的正则表达式支持),并且看不到如何在 ICU 加载 ICU 时调用 u_cleanup() 来实际清理数据提升正则表达式 dll。

只是重申这个问题似乎是: -

在使用可选 icu 支持编译的 dll 中提升正则表达式(我很确定这使用到 icu 的静态链接,但这里可能是错误的)

如果我在测试程序中链接到 icuuc.lib 以便我可以调用 u_cleanup() 这似乎不会影响通过 boost regex 库加载的 ICU 实例所持有的内存(如果这样做会很奇怪)

我在 regex 库中找不到任何调用,这些调用允许我要求它清理我们真正想要调用的 ICU 数据。

0 投票
2 回答
390 浏览

c++ - 使用 Boost::Regex 的问题(控制台只是冻结)

出于某种原因 boost::regex 使我的应用程序重载并且它冻结而没有错误,但它编译得很好。例如,此代码完全失败。我究竟做错了什么?我更新到 boost 1.47 看看它是否是一个 DLL 错误,但它仍然不起作用。我可以获得一个示例程序来测试 boost::regex 吗?

0 投票
1 回答
78 浏览

c++ - Boost RegEx:具体问题

我正在尝试使用这个表达式:

请记住,我在代码中用第二个 \ 转义了 \。

在下面的字符串中搜索时。我想我很接近,但没有雪茄。我希望上面的表达式能够在下面的文本中找到匹配项。我哪里错了?

使用的资源:

  1. http://www.solarix.ru/for_developers/api/regex-en.html

  2. http://www.boost.org/doc/libs/1_47_0/libs/regex/doc/html/boost_regex/introduction_and_overview.html

  3. http://www.regular-expressions.info/reference.html


更新

评论帮助了我。我仍然希望看到人们在我的线程上发帖,出于记录目的,帮助他们掌握正则表达式的正则表达式站点。无论如何,我的代码(主要是从 boost 网站复制的)是。

似乎工作。请尽管如此,我可以接受将您最喜欢的网站发布的答案,并给新手一些指示=)。

0 投票
1 回答
1945 浏览

c++ - 如何存储循环缓冲区迭代器的中间值?

我在提升循环缓冲区上使用提升正则表达式,并想“记住”发生匹配的位置,最好的方法是什么?我尝试了下面的代码,但“end”似乎一直存储相同的值!例如,当我尝试从以前的“结束”遍历到最近的“结束”时,它不起作用!

}

0 投票
0 回答
274 浏览

boost - 提升 DYN_LNK 与 USE_DLL 与 USE_LIB

以下定义有什么区别:

(正则表达式是任意选择的)?

他们中的哪一个自动将项目与libboost*.lib, boost*.lib,boost*.dll文件链接?提到的文件有什么区别。

0 投票
2 回答
833 浏览

c++ - 使用 boost 正则表达式匹配二进制数据

boost regex 是否能够匹配给定二进制输入中的二进制数据?

例如:
以二进制形式输入:
0x01 0x02 0x03 0x04 0x05 0x01 0x02 0x03 0x04 0x08

要匹配的二进制表达式:
0x01 0x02 0x03 0x04

在这种情况下,应匹配 2 个实例。

非常感谢!

0 投票
2 回答
161 浏览

regex - 构建提升正则表达式

我想匹配以下字符串中的每个数字:

但是,由于某种原因,以下方法boost::regex不起作用:

它出什么问题了?

编辑:发布相关代码:

输出:

还将文件的内容发布到字符串中: