正则表达式重复组或显式模式

时间:2015-02-23 03:58:26

标签: .net regex performance

我正在为逐项级别编写解析器:

1.0.0.0.0
  1.1.0.0.0
  1.2.0.0.0
2.0.0.0.0

我编写正则表达式以匹配此模式以使用非重复组:

\d{1,4}(?:\.\d{1,4}){4}

但在审查中,我的同事建议重写:

\d{1,4}\.\d{1,4}\.\d{1,4}\.\d{1,4}\.\d{1,4}

这是主观的吗?或者是一个比另一个好?对于那些不熟悉正则表达式语法的人来说,后者更易于阅读。在这种情况下,性能不是问题,但是在更大的目标上表现更好吗?

正则表达式引擎将是.Net。

编辑:我正在阅读所有评论并回复。感谢大家的投入。

1 个答案:

答案 0 :(得分:1)

这是一个完全主观的事情,它们在性能或功能上没有显着差异。 FWIW,我认为第一个更清晰,更容易看到你的意图,第二个需要仔细扫描,因为我正在扫描我认为必须在每个组中有一些差别,否则你我已经使用了第一种方法。