问题标签 [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.
php - PHP`preg_match_all`函数的Boost::regexp模拟是什么?
所以我有这样的 php 函数,我想翻译成 C++:
使用示例:
(内容是 的结果$content= curl_exec($curl);
)
preg_match_all
- 搜索主题中与模式中给出的正则表达式的所有匹配项,并按照标志指定的顺序将它们放入匹配项中。找到第一个匹配后,从最后一个匹配的末尾继续进行后续搜索。
如何使用 boost::regexp 翻译它?
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
?
php - Boost regexp 如何将这样的 PHP unescape 函数转换为 C++?
当我必须在 PHP 中创建 CMS 时,我创建了如下所示的简单unescape html
函数:
如何使用Boost.Regex将其翻译成 C++ ?
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 数据。
c++ - 使用 Boost::Regex 的问题(控制台只是冻结)
出于某种原因 boost::regex 使我的应用程序重载并且它冻结而没有错误,但它编译得很好。例如,此代码完全失败。我究竟做错了什么?我更新到 boost 1.47 看看它是否是一个 DLL 错误,但它仍然不起作用。我可以获得一个示例程序来测试 boost::regex 吗?
c++ - Boost RegEx:具体问题
我正在尝试使用这个表达式:
请记住,我在代码中用第二个 \ 转义了 \。
在下面的字符串中搜索时。我想我很接近,但没有雪茄。我希望上面的表达式能够在下面的文本中找到匹配项。我哪里错了?
使用的资源:
更新
评论帮助了我。我仍然希望看到人们在我的线程上发帖,出于记录目的,帮助他们掌握正则表达式的正则表达式站点。无论如何,我的代码(主要是从 boost 网站复制的)是。
似乎工作。请尽管如此,我可以接受将您最喜欢的网站发布的答案,并给新手一些指示=)。
c++ - 如何存储循环缓冲区迭代器的中间值?
我在提升循环缓冲区上使用提升正则表达式,并想“记住”发生匹配的位置,最好的方法是什么?我尝试了下面的代码,但“end”似乎一直存储相同的值!例如,当我尝试从以前的“结束”遍历到最近的“结束”时,它不起作用!
}
boost - 提升 DYN_LNK 与 USE_DLL 与 USE_LIB
以下定义有什么区别:
(正则表达式是任意选择的)?
他们中的哪一个自动将项目与libboost*.lib
, boost*.lib
,boost*.dll
文件链接?提到的文件有什么区别。
c++ - 使用 boost 正则表达式匹配二进制数据
boost regex 是否能够匹配给定二进制输入中的二进制数据?
例如:
以二进制形式输入:
0x01 0x02 0x03 0x04 0x05 0x01 0x02 0x03 0x04 0x08
要匹配的二进制表达式:
0x01 0x02 0x03 0x04
在这种情况下,应匹配 2 个实例。
非常感谢!
regex - 构建提升正则表达式
我想匹配以下字符串中的每个数字:
但是,由于某种原因,以下方法boost::regex
不起作用:
它出什么问题了?
编辑:发布相关代码:
输出:
还将文件的内容发布到字符串中: