我正在实现一个正则表达式引擎并遇到了一个有趣的问题;如果您尝试将表达式/(?>a)*/
与"a"
匹配,则理论上在索引0处具有无限数量的正零宽度前瞻匹配。
我的问题是:匹配量化的零宽度匹配是否合理?我应该让这个无限地运行并责怪编写表达式的人,还是应该抓住并否认这种类型的匹配?
编辑:或者只是一场比赛并忽略它要求更多的事实?
编辑2:目前,我的引擎看到零宽度匹配,将其添加到结果(零个字符),保持在相同的索引,最后返回到尽可能多的相同零宽度表达式(这是与*,+,{n,}等一起使用时无界限。
答案 0 :(得分:0)
共识是不,允许多个零宽度匹配是不合理的。