我正在为逐项级别编写解析器:
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。
编辑:我正在阅读所有评论并回复。感谢大家的投入。答案 0 :(得分:1)
这是一个完全主观的事情,它们在性能或功能上没有显着差异。 FWIW,我认为第一个更清晰,更容易看到你的意图,第二个需要仔细扫描,因为我正在扫描我认为必须在每个组中有一些差别,否则你我已经使用了第一种方法。