【发布时间】:2011-05-18 06:53:30
【问题描述】:
大量字符串的一些示例挂钟时间:
.split("[^a-zA-Z]"); // .44 seconds
.split("[^a-zA-Z]+"); // .47 seconds
.split("\\b+"); // 2 seconds
对急剧增加的任何解释?我可以将处理器中的 [^a-zA-Z] 模式想象为一组四个比较操作,其中所有四个比较操作都只有在真实情况下才会发生。 \b 呢?有人对此有什么要权衡的吗?
【问题讨论】:
-
所有这些时间似乎都大了 3 个数量级。你的输入数据是什么样的?
-
它看起来像几百万行拆分。这是正确的数量级。
标签: java regex optimization