转义序列\\ K代表在boost库正则表达式(escape sequence \\K for reg

2019-10-18 10:09发布

我需要更换,因为它的局限性的提升(1.54版本)与\ K A向后看表达,但它不工作。 我该怎么办呢还是什么问题呢? 是否有任何其他的方式来表达这种转换与前瞻?

“(?<= FOO。*)栏”=> “FOO。* \ k-棒” ???

Answer 1:

这里一晚的答案有点...

按照Boost.Regex 1.54文档 ,使用Perl的\钾是可能的,而且我刚才通过测试证实,在崇高的文本3,使用Boost.Regex它的正则表达式搜索引擎。 此外,我看到你们两个贴形式没有明显的语法错误。 我能想到的唯一的事情是,你正在使用一个字符串里面的正则表达式,并没有逃过\。 如果是这样的话,你的例子中,正确的正则表达式为:

foo.*\\K bar


如果不是这种情况,一个解决方法(这显然会对性能产生影响)是扭转字符串,然后使用可变宽度的前瞻。 然后你的榜样修改后的正则表达式为:

rab (?=.*oof)


Answer 2:

我认为,问题是,升压回顾后发模式必须是固定长度的 。

你的表达式包含重复.*这使得它变长。



文章来源: escape sequence \\K for regular expression in boost library