2012-08-14 65 views
1

有没有人(碰到/正在处理)提供关于使用提供的语法的不匹配正则表达式的提示?即试想一下,正则表达式的一部分被匹配了一些标记,但后者失败:为不匹配的正则表达式提供提示

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

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

这将是真正伟大的,如果用户可以得到一个暗示了什么问题在很长的正则表达式,也许引进一些修正等

我记得读起,ANTLR是相当擅长逆转,以它的解析过程根据提供的语法定义为不正确的语言语句提供提示。在Python中做什么样的事情有什么好处?

谢谢!

回答

1

您应该检出http://www.regexbuddy.com/以调试正则表达式。它就像一个正则表达式IDE,它有一个完整或普通的正则表达式库,对正则表达式组合以及测试/调试工具的实时帮助。

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

这是一款优秀的软件,强烈推荐!

+0

感谢infl3x,我以前见过这个,但我的意思是实际上没有这个工具,而是一个库,它可以给我一些信息,以便它可以显示给用户,以便给他一个提示他输入的部分数据可能不正确。 也就是说我有一组正则表达式,我试图匹配用户的输入以找出他刚输入的数据类型。所以我已经有了一套通过regexps定义的规则,并且想要告诉用户他做错了什么,以至于他的输入不匹配。 – user1552175 2012-08-17 10:50:04