Windows下的正则表达式工具之四——强大而免费的Expresso

December 13th, 2008 Categories: 软件

Expresso|http://iregex.org|我爱正则表达式 曾经沧海难为水,除却巫山不是云。用过了RegexBuddy,再用其它的正则式辅助软件,总有些不习惯。然而本人幸好不是固步自封之辈,任何时候都勇于尝试新工具,体验新特征。这不,最近知道了Expresso,第一时间就想体验一把,将感受写在这里。

首先说一下对Expresso的印象。该软件理所应当支持了许多正则式功能,包括匹配、替换、分隔、分析,等等。不过,Expresso是以.Net为基础的,因此其正则式是.Net风格的。(《精通正则表达式第三版》里,第9章整整一章是讲.Net正则表达式的;在《Regular Expression Pocket Reference》里,同样也有一章,列出了.Net/C#正则表达式的风格列表。)Expresso只支持将正则式导出为.Net的C#/Visual Basic/C++/CLI语言格式。比起RegexBuddy丰富的字符串风格、多语法风格,Expresso显得有些简陋。Expresso不支持语法高亮,或许是作者不喜欢使用richedit之故?无论匹配与否,输出框里全是一色的黑白色,着实有些乏味。

不过,Expresso也并非毫无亮点。

  • 支持特殊字符:它支持在正则表达式中插入各种稀奇古怪的字符,当然,我这里指得的是有图形面板的支持,好让你知道你是在做什么。
  • 捕获:允许使用多种风格的捕获,包括命名捕获。没办法,这是.Net的特性。
  • 控制字符:它支持在正则表达式中插入多种控制字符,包括响铃(bell \a)、new line、vertical tab……
  • 排除匹配(Exclude Match):即允许你选定一部分正则表达式,从而在匹配时略过该段正则式,就像它不存在一样。我觉得这一特性很实用,尤其是在调试时,你不必先删除再比较,只需将其选定即可。
  • 批量验证(Validate)。你可以写一条正则式(Email、URL、变量名,等等),然后将一大堆待验证的文本行贴至输入栏,检验其是否合法。
  • 语法分析树:它的语法分析树也很有意思。虽然也是黑白色的,但是层次很清晰。
  • 实用的可扩展的正则式锦囊(expression library)。
  • 测试计时(Timing Tests)很有用的特性,帮助你测试单次匹配时间,以及多次匹配时间。
  • 将正则表达式编译到文件中。或许对有特定需要的人有用吧。我从未使用C++/C#编写过需要正则表达式的程序,也没想到在程序中调用含有正则表达式的dll文件,因此该功能对我用处不大。
  • 它是免费的!虽然它需要注册,但是注册不需花钱,只需要按照提示,给作者发一封邮件即可,将你的全名告诉作者,你就会收到一封自动回复的Email,包括你的全名和以此生成的注册码。作者的本意其实是想统计一下,究竟有多少人在使用自己的软件。

相关链接

Tags: , ,

One Response to “Windows下的正则表达式工具之四——强大而免费的Expresso”

Leave a Comment