我想出了一个在https://regex101.com上运行良好的回溯正则表达式。当我使用flex
编译一个简单的reflex -u
(ish)程序时,表达式不捕获回溯位 - 其他一切正常。
reflex
的文档表明它将允许回收开箱即用,我在文档中找不到任何告诉我如何在使用{{1}时允许回溯的内容}}替代reflex
。
据我从文档中可以看出,我必须使flex
使用reflex
,因为这是唯一支持回溯的引擎,在常规C ++程序中这似乎很简单。< / p>
(*)常规旧的flex不是一个选项,因为它不支持unicode类;特别是它不支持识别大写字母。
答案 0 :(得分:0)
回溯反射式扫描仪在Perl模式下需要Boost。使用reflex -m=boost-perl
切换到Boost Perl regex引擎。有关POSIX与Perl匹配的信息,请参见RE / flex文档部分:https://www.genivia.com/doc/reflex/html/index.html#reflex-posix-perl。