1

有没有人(遇到/工作过)一个工具,通过提供的语法给出关于无与伦比的正则表达式的提示?即想象正则表达式的一部分与某个标记匹配,但后者失败了:

(?P<name>[a-zA-Z])-(?P<number>\d+)_blah

假设我们设法找到了名称,但“_”之前有一个字母(例如“foo-123Z_blah”)或“_blah”不匹配(例如“foo-123_Zblah”)。

如果用户能在长的正则表达式中得到一个提示出了什么问题并可能引入一些更正等,那将是非常棒的。

我记得读过 Antlr 非常擅长反转其解析过程,以便根据提供的语法定义为不正确的语言语句提供提示。在 Python 中是否有任何轻量级的东西可以做这种事情?

谢谢!

4

1 回答 1

1

您应该查看http://www.regexbuddy.com/以调试您的正则表达式。它有点像一个正则表达式 IDE,有一个完整的或常见的正则表达式库、正则表达式组合的实时帮助以及测试/调试工具。

不幸的是,它不是免费的,但他们收取的少量费用非常值得。调试工具非常棒,我相信它会帮助你。它显示哪些组件与字符串匹配,何时发生回溯,在哪些符号处等。

很不错的软件,强烈推荐!

于 2012-08-17T00:35:31.207 回答