biggates的心得

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

倒腾了一整天配置环境、熟悉 Java,终于差不多了。

根据 http://www.imc.org/pdi/vcard-21.txt 的规范和手头的一些实机数据,写出了以下正则:

正则

正则写好以后的逻辑很简单,注意各个正则匹配的时候是第几个 group 就行了。

具体处理逻辑

现在想起来,主要是在配置 Java 环境,还有调试正则表达式的地方花了时间。需要注意的几点:

Java 不支持形如 (<?name>.+ ) 的分组命名,这个很不方便,而且调试错卡了一段时间。

使用形如 (?m) 的前缀配置模式,代码长度减少了不少,不知道性能上会有多大损失。

开启  CASE_INSENSITIVE 和 UNICODE 都会降低速度。

StringBuilder 比 StringBuffer 快,但是前者不支持多线程。

另外,推荐一款 Java 下的正则表达式验证工具:JRegexpTester 。虽然时常死掉,并且功能不多,但是 Find 用起来还算方便,并且勾选了 Combilation 之后,验证过的代码直接拿来就能用,不用再费劲的加转义字符了。对 RegLib 的支持也不错。

.NET 下当然用 The Regulator 啦。RegexBuddy 虽然支持巨多语言,并且口碑也很好(帮助文件尤其厉害),但是要付 USD 39.95 才能用,不是我等贫民的首选。(Crack?能用Crack就不算贫民啦)

posted on 2008-12-07 00:48  biggates  阅读(3716)  评论(0编辑  收藏  举报