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

c++ - Boost.Regex 与 C++11 正则表达式

有人可以解释两者之间的区别吗?现在学习哪个更好?知识如何从一个转移到另一个,反之亦然?

0 投票
3 回答
1873 浏览

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

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

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

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

但我得到一个错误:

命名标记已存在

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

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

0 投票
2 回答
189 浏览

c++ - set boost regex from foreign source

I need to parse log and I`ve good working regex, but now I need to set regex from config file and here is problem.

and I really dont know why the same regex dont work when I tryed to set it from config variable.

Any help will be appreciated (:

0 投票
0 回答
327 浏览

c++ - 使用自定义分配器进行 boost::wregex

我创建了一个自定义分配器,并希望在我们的代码中使用它。我们这样做的方式是定义包装我们使用的每个容器的模板,并使用我们自己的分配器而不是默认的分配器:

template <class Type> class myVector : public std::vector<Type, CCustomAllocator<Type>>

所以我们可以像这样在我们的代码中使用它myVector<int> x:这减少了犯错的机会。

我们在代码中使用的所有容器都有类似的包装器:list, string, wstring, ...

我希望这种方法有意义。

我在为boost::wregex. 正则表达式可以使用指定的分配器吗?

0 投票
2 回答
304 浏览

c++ - 使用正则表达式解析规则 CF 语法(如何使用模板)

我有 CF 语法。它的规则如下:

S->a|AS

A->AB|a|b

B->b

我想使用正则表达式解析这些规则。

我的正则表达式:

\b([AZ])->(?:([A-Za-z]+)\|?)+

对于: "A->AB|a|b" 结果:

0:A->AB|a|b

1:一个

2:乙

但我想要这个:

0:A->AB|a|b

1:一个

2:AB

3:一个

4:乙

0 投票
0 回答
1206 浏览

c++ - Visual Studios 2010 包含正则表达式错误

我正在尝试使用正则表达式。所以我在 VS 2010 中创建了一个项目,在顶部我放了:

当我编译时,我得到一个错误列表,看起来 regex.h 文件本身存在问题。以下是错误:

我该如何解决这个问题并让程序运行?谢谢

0 投票
3 回答
3925 浏览

c++ - C++ 正则表达式的简单使用

我只是想弄乱并熟悉在 C++ 中使用正则表达式。假设我希望用户输入以下内容:###-$$-###,使 #=0-9 之间的任何数字和 $=0-5 之间的任何数字。这是我完成此任务的想法:

这不是确切的代码,但这是检查用户输入是否是有效数字字符串的一般想法。但是,假设我不允许以 0 开头的数字,因此:099-55-999 是不可接受的。我怎样才能检查类似的东西并输出无效?谢谢

0 投票
1 回答
56 浏览

boost - 正则表达式匹配开头不同行的字符

我的问题是如何使用正则表达式匹配字符串中某些行的前三个字符我拥有的正则表达式应该可以工作但是当我运行程序时它只匹配字符串的第一行的前三个字符

.V/RTEE/EW\n.N/ERER/JAN/21

我的正则表达式是^(.[VN]/)*所以它需要匹配.V/ and .N/任何帮助我将非常感激

0 投票
3 回答
207 浏览

c++ - 正则表达式提升 C++

试图在字符串开头捕获字符并换行字符串是

我正在使用的正则表达式来自上面的字符串,我需要捕获 .V/ 和 .E/

但它似乎只是 ctach .V/ 谁能明白为什么我认为 ^ 表示换行符以及字符串的开头?任何帮助都会非常感激,因为我已经有一段时间遇到这个问题了。如果这不是这样做的正确方法,您能否提出不同的方法。

0 投票
1 回答
201 浏览

c++ - 使用正则表达式解析零宽度正则表达式

我们使用零宽度正则表达式字符串来指定一串氨基酸符号(基本上是 AZ)中作为有效切割位点的位置。例如,蛋白水解酶胰蛋白酶在 K 或 R 之后切割,但在 P ( (?<=[KR])(?!P)) 之后除外。我想将这些正则表达式转换为在该领域也很常见的“cut/no-cut”表示法。例如,胰蛋白酶在“KR”之后切割,没有切割“P”。我的第一次尝试适用于简单的情况:

如果没有 C++ 转义,那就是:

(?:\(+\?<([=!])(\[[A-Z]+\]|[A-Z])\)+)?(?:\(+\?([=!])(\[[A-Z]+\]|[A-Z])\)+)?

我想更改它以支持更复杂的正则表达式,例如多个字符、非捕获组、字符集、字符集中的范围、否定集和字符串的开始/结束: (?<=K|R)(?<=(?:K)|(?:R))(?<=[^A-JL-QS-Z])(?<=^M|[KR])

这些额外的功能似乎会爆炸正则表达式的复杂性。我很确定我需要启用 Boost.Regex 的“实验性”BOOST_REGEX_MATCH_EXTRA 功能。有没有更好的方法来做我正在做的事情?我是否错过了零宽度正则表达式中的其他一些正则表达式可能性?

这是我对涵盖许多简单案例的现有代码的单元测试的伪代码。当“cut”字段对应于look-behind时“sense”成员是“C”,而当“cut”字段对应于look-ahead时是“N”。当前的 pepXMLSpecificity() 函数可以反转字符集,如果它会生成更短的列表。