有没有人(遇到/工作过)一个工具,通过提供的语法给出关于无与伦比的正则表达式的提示?即想象正则表达式的一部分与某个标记匹配,但后者失败了:
(?P<name>[a-zA-Z])-(?P<number>\d+)_blah
假设我们设法找到了名称,但“_”之前有一个字母(例如“foo-123Z_blah”)或“_blah”不匹配(例如“foo-123_Zblah”)。
如果用户能在长的正则表达式中得到一个提示出了什么问题并可能引入一些更正等,那将是非常棒的。
我记得读过 Antlr 非常擅长反转其解析过程,以便根据提供的语法定义为不正确的语言语句提供提示。在 Python 中是否有任何轻量级的东西可以做这种事情?
谢谢!