在正则表达式中,尝试无限数量的零长度匹配是否合理?

时间:2016-06-14 13:01:08

标签: regex

我正在实现一个正则表达式引擎并遇到了一个有趣的问题;如果您尝试将表达式/(?>a)*/"a"匹配,则理论上在索引0处具有无限数量的正零宽度前瞻匹配。

我的问题是:匹配量化的零宽度匹配是否合理?我应该让这个无限地运行并责怪编写表达式的人,还是应该抓住并否认这种类型的匹配?

编辑:或者只是一场比赛并忽略它要求更多的事实?

编辑2:目前,我的引擎看到零宽度匹配,将其添加到结果(零个字符),保持在相同的索引,最后返回到尽可能多的相同零宽度表达式(这是与*,+,{n,}等一起使用时无界限。

1 个答案:

答案 0 :(得分:0)

共识是不,允许多个零宽度匹配是不合理的。