问题标签 [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 回答
1014 浏览

c++ - 使用 boost 正则表达式库编译程序时遇到问题

我试图编译一个在我的 linux 机器上使用 boost regex 库的 boost 程序。它具有所有必需的头文件和库。该程序拒绝编译并抛出大量模板输出。我正在使用以下命令来编译程序。

请建议如何解决以下问题。

g++ regex.cc -I/usr/local/include/boost/ -L/usr/local/lib -lboost_regex -o regex

这是编译器的输出。

这是取自同一个 boost 正则表达式文档的一段代码

0 投票
1 回答
1045 浏览

c++ - 使用 Boost-Regex 将字符串解析为字符和数字

我想使用 Boost 的 Regex 库将包含标签和数字的字符串分隔成标记。例如'abc1def002g30'会被分成{'abc','1','def','002','g','30'}. 我修改了Boost 文档中给出的示例以提供以下代码:

存储的令牌数量count是正确的。但是,*it仅包含一个空字符串,因此不会打印任何内容。关于我做错了什么的任何猜测?

编辑:根据下面建议的修复,我修改了代码,它现在可以正常工作。

0 投票
2 回答
622 浏览

c++ - 什么时候我应该更喜欢 boost::regex(或 boost::xpressive)而不是 boost::algorithm

我认为 boost 正则表达式引擎会比 boost::algorithm 更快
这个简单的测试显示 algo 大大击败了正则表达式引擎
这是整个测试程序
我错过了什么吗?

0 投票
1 回答
3389 浏览

c++ - 提升正则表达式捕获组

经过一天的黑客和阅读,我对 boost 的正则表达式引擎没有运气,希望这里有人能提供帮助。

我想从最后一个字段匹配某些输入的每一行中获取第一个字段。

假设我给我的正则表达式以下字符串......

然后设置我的比赛

这是我从 boost 中得到的输出,请记住我要求整条线和第 1 组比赛,我还要求一个“|” 所以我们可以很容易地看到行尾:

好想要445| 和 446| 只是,但它给了我 449(直到它达到第一个 BOOGNISH)然后是 446。我已经在其他重新解析器上测试过它,它似乎工作正常。我做错了什么提升?

先感谢您!

0 投票
1 回答
813 浏览

c++ - 正则表达式匹配 url 权限部分

我需要匹配以下字符串的这些部分:

可以选择匹配用户和端口。首先我用这个正则表达式管理它:

这匹配foo@bar:80

但是当涉及到 IPv6 主机时foo@[2001:0db8:85a3:08d3:1319:8a2e:0370:7344]:80,前面的正则表达式将无法按预期工作:

所以现在我正在思考一个正则表达式,它也可以用冒号匹配方括号括起来的主机,但没有方括号。:) 我用下面的正则表达式做到了:

但是..这很难看,因为要么 要么23是空的。有没有办法将它与一个反向引用结合起来?

我正在使用 boost::regex,据我所知,它使用 perl 的正则表达式引擎。

谢谢并恭祝安康

真实的

0 投票
2 回答
5052 浏览

c++ - 使用 boost::regex_search 忽略大小写

如何boost::regex_search在 C++ 中使用忽略大小写标志或常量?

请发布一个简单的示例。

谢谢!

0 投票
1 回答
439 浏览

c++ - Boost::regex_iterator 构造函数失败但 make_regex_iterator 函数成功

这抛出std::runtime_error what(): Memory exhausted

这工作正常:

有谁知道导致性能差异的原因是什么?boost::regex 库在 Linux 上以默认的非递归模式编译。

编辑:也试过

regex_it = boost::cregex_iterator(line.data(), line.data()+line.size(), re);

同样的问题。

0 投票
2 回答
267 浏览

c++ - boost xpressive:匹配错误?

我想用boost匹配一个简单的表达式,但它的行为很奇怪......下面的代码应该匹配并显示第一个和第二个字符串中的“a”:

但我的实际输出是:

它应该是

0 投票
3 回答
346 浏览

c++ - 如何编写正则表达式以匹配 ((11 3) (96 15) (2 3) )

我正在尝试制作一个匹配的正则表达式:

到目前为止,我有:

但它只捕获 11 而不是其余的。此外,字符串要长得多,我只使用了一小部分,所以它以相同的格式重复,但数字不同。到目前为止,这至少是我对该程序的一部分:

0 投票
2 回答
206 浏览

c++ - 如何理解 boost::regex 的哪一部分无法匹配/搜索

boost::regex用来匹配(最好说boost::regex_search)文本与正则表达式。

这个不匹配,我的正则表达式真的很大。

你知道图书馆里是否有任何函数告诉我正则表达式的哪一部分不匹配?

我正在使用 LINUX/gcc