问题标签 [boost-xpressive]

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 回答
872 浏览

c++ - MinGW下的Boost::Xpressive编译拼图

第一次切换到 GCC,编译器在这里告诉我的内容让我有点困惑。从本质上讲,它的行为就像 boost::xpressive::wsregex 没有定义(我相信)。

以下是相关代码:

这是错误:

我在这里感到困惑的是我正在声明一个成员,但它抱怨我在其他地方使用了一个成员。

我是不是忘记了#include什么?

在此先感谢,比利3

0 投票
2 回答
374 浏览

c++ - 增强表现力!操作员不工作

我刚开始使用 Boost::xpressive 并发现它是一个很棒的库...我浏览了文档并尝试使用 ! 运算符(零或一),但它不编译(VS2008)。

我想匹配一个可能以“sip:”开头也可能不以“sip:”开头的 sip 地址

0 投票
2 回答
313 浏览

c++ - 使用 Boost::Xpressive 匹配单个字符

我有一个字符串可以是“/”“+”“。” 或描述性名称

我试图弄清楚如何使用正则表达式来检查字符串是否与上面的 3 个特殊字符(/ + 或 .)

在做了一些阅读之后,我决定 boost::xpressive 是要走的路,但我仍然无法弄清楚。

Boost:xpressive 是否适合这项任务,我的正则表达式字符串需要是什么?

谢谢

0 投票
1 回答
259 浏览

c++ - Xpressive >>= 运算符

我在玩 Boost Xpressive 并且在使用以下代码段时遇到问题

运行该程序的结果与1预期的相反12。是否sregex::operator>>=有不同的含义/使用我直观假设的内容?我期待这会产生sregex类似于_d >> _d.

0 投票
5 回答
6125 浏览

c++ - 正则表达式:boost::xpressive 与 boost::regex

我想在 C++ 中做一些正则表达式,所以我查看了 interwebz(是的,我是 C++ 的初学者/中级)并找到了这个 SO 答案

我真的不知道在 boost::regex 和 boost::xpressive 之间选择什么。有什么优点/缺点?

我还读到与 boost::regex 相对的 boost::xpressive 是一个仅限标头的库。在 Linux 和 Windows 上静态编译 boost::regex 很难(我几乎总是编写跨平台应用程序)?

我也对编译时间的比较感兴趣。我有一个使用 boost::xpressive 的当前实现,我对编译时间不太满意(但我没有与 boost::regex 的比较)。

当然,我也对正则表达式实现的其他建议持开放态度。这些要求是免费的(就像啤酒一样)并且与http://nclabs.org/license.php兼容。

0 投票
2 回答
622 浏览

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

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

0 投票
1 回答
173 浏览

c++ - 便携式 boost.xpressive

我想在我的 C++ 作业中使用 Boost.Xpressive,并将其包含在我的源代码中。但是整个 boost 头文件是 70MB+,那么是否有任何独立的 xpressive 发行版只包含依赖文件?

0 投票
3 回答
1873 浏览

c++ - 标记字符串,不包括引号内的分隔符

首先让我说,我已经彻底解决了这个问题的所有其他解决方案,虽然它们非常相似,但没有一个能完全解决我的问题。

我需要使用 boost regex 提取除引号之外的所有标记(对于引用的标记)。

我认为我需要使用的正则表达式是:

但我得到一个错误:

命名标记已存在

为 C# 发布的解决方案似乎适用于重复的命名标记,因为它是与另一个标记的 OR 表达式。

正则表达式在空格上拆分,除非在引号中

0 投票
1 回答
245 浏览

c++ - 如何在 boost::xpressive 语义操作中使用“new”运算符?

似乎 boost::xpressive 没有提供延迟评估的new运算符版本,所以这个语义动作不会编译:

是否有在语义动作中使用 new 运算符的构造?例如, boost::phoenixnew_为 lambdas 提供了函数。xpressive 是否为语义动作提供了类似的东西?

0 投票
1 回答
477 浏览

c++ - 如何在 xpressive 中迭代命名组?

假设我有一个sregex像这样的对象:

尽管 xpressive 支持命名组很好,但我无法在 xpressive 文档中找到任何关于此的参考。

我知道可以遍历组很好,但是我将如何访问组名(如果组有名称)?

那么,我将如何遍历命名组?