一个利用正则表达式进行代码重构,去除冗余代码的例子

Posted JerryWangSAP

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个利用正则表达式进行代码重构,去除冗余代码的例子相关的知识,希望对你有一定的参考价值。

refact之前:大量的重复代码

技术图片

refact之后:用map消除了重复代码。

技术图片

现在的分支里每次执行检查都要先 var usRegx = /XXXX/. 实际上通过字面量定义了一个正则表达式对象,开销比定义一个String大。其实没必要每次都定义,可以把map定义在controller的一个全局属性上。
执行这段代码就可看出字符串常量和正则表达式字面量的性能差异:

var N = 100000000;
console.time("normal string");
for( var i = 0; i < N; i++){
var a = "a";
}
console.timeEnd("normal string");

console.time("regular exp");
for( var i = 0; i < N; i++){
var b = /^[0-9]{5}$|^[0-9]{5}-[0-9]{4}$/;
}
console.timeEnd("regular exp");

技术图片

要获取更多Jerry的原创文章,请关注公众号"汪子熙":
技术图片

以上是关于一个利用正则表达式进行代码重构,去除冗余代码的例子的主要内容,如果未能解决你的问题,请参考以下文章

[转]最全的用正则批量去除Teleport Pro整站下载文件冗余代码

正则表达式去除中文sql

iOS 正则表达式去除特殊符号

正则表达式和decimal format的实际项目运用

去掉word冗余格式 java正则表达式

MyEclipse去除网上复制下来的代码带有的行号(使用正则表达式)