倒腾了一整天配置环境、熟悉 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就不算贫民啦)

相关文章:

  • 2021-06-04
  • 2022-12-23
  • 2021-11-03
  • 2022-12-23
  • 2022-12-23
  • 2021-06-24
  • 2021-09-17
猜你喜欢
  • 2021-05-19
  • 2022-01-10
  • 2021-08-05
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案