`
JerryWang_SAP
  • 浏览: 1043927 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

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

阅读更多

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");

0
0
分享到:
评论

相关推荐

    JavaScript 数据校验 正则表达式 示例代码

    正则表达式 示例代码JavaScript 数据校验 正则表达式 示例代码JavaScript 数据校验 正则表达式 示例代码JavaScript 数据校验 正则表达式 示例代码JavaScript 数据校验 正则表达式 示例代码JavaScript 数据校验 正则...

    PB实现的正则表达式

    标题"PB实现的正则表达式"表明我们将关注的是在PowerBuilder中如何利用正则表达式进行编程。由于描述中提到"不支持中文",这可能意味着该实现可能没有包含对Unicode字符集的支持,因此可能无法处理中文字符。然而,...

    qt使用正则表达式限制lineEdit的输入,对正则表达式进行了封装,可以直接引入,工程编译正常

    在项目中,作者已经对正则表达式进行了封装,这意味着提供了一个易于使用的类或函数,可以直接引入到你的Qt工程中。使用这个封装好的模块,你可以避免重复编写正则表达式的验证代码,提高代码的可复用性和一致性。在...

    正则表达式转换工具

    - 工具支持:利用在线正则表达式测试网站,如Regex101,进行实时调试和学习。 综上所述,"正则表达式转换工具"是处理文本数据的强大辅助,它简化了正则表达式的构造过程,使得非专业人士也能方便地利用正则表达式...

    pb 使用正则表达式源码pbregexp

    标题中的“pb 使用正则表达式源码pbregexp”指的是在PowerBuilder(简称pb)环境中,利用名为“pbregexp”的正则表达式组件来实现源代码级别的正则表达式操作。PowerBuilder是一款流行的可视化的、面向对象的软件...

    MFC中利用正则表达式进行密码匹配

    在MFC(Microsoft Foundation Class)库中,正则表达式是一种强大的工具,常用于文本处理,包括验证输入数据,如密码。...这个例子是一个很好的起点,对于需要进行复杂输入验证的项目,可以在此基础上扩展和定制。

    VC、VC++,MFC 正则表达式类库

    在这个场景下,正则表达式是一个非常重要的工具,用于处理和分析文本数据。正则表达式类库则为VC++和MFC的开发者提供了对正则表达式功能的支持。 "VC、VC++,MFC 正则表达式类库"指的是在MFC中实现或集成的正则...

    测试正则表达式源代码

    分组是正则表达式中的一个关键概念,它允许我们将模式的一部分作为一个整体来处理。在正则表达式中,圆括号`()`用于创建分组。分组可以捕获匹配的子串,方便后续处理。例如,`(ab)+`会匹配一个或多个连续的"ab"。 ...

    正则表达式测试工具C#版(src)

    本项目提供了一个C#编写的正则表达式测试工具,包含完整的源代码,可以帮助开发者调试和测试他们的正则表达式,支持查找和替换功能,并能直观地显示匹配结果。 1. **C#中的正则表达式基础** - `System.Text....

    Java使用正则表达式提取XML节点内容的方法示例

    正则表达式是指一个模式串,它由一些特殊的符号和字符组成,用于描述一个字符串的模式。Java中提供了对正则表达式的支持,使得开发者可以使用正则表达式来匹配和提取字符串中的内容。 二、XML节点内容提取方法 在...

    神器验证正则表达式去除复制代码前的序号

    "神器验证正则表达式去除复制代码前的序号"这一主题,主要涉及如何利用正则表达式来解决在编程或文本编辑时遇到的一个常见问题:代码块中的序号。 当我们在网页、文档或者代码仓库中复制代码段时,有时这些代码段会...

    使用正则表达式验证一年的12个月份

    在这个场景中,我们需要创建一个正则表达式来验证输入是否符合一年12个月份的格式。 首先,我们要明确一年中的12个月份的可能形式。它们可以是数字(1-12)或完整的英文月份(January到December)。如果只考虑数字...

    Lucene 使用正则表达式

    在Lucene中,可以通过`regexQuery`来利用正则表达式进行复杂条件的匹配,从而实现更精确的搜索需求。 #### regexQuery详解 `regexQuery`是Lucene提供的一个用于执行正则表达式查询的方法。它接受一个`Term`对象作为...

    源码(精通正则表达式&实战正则表达式)

    本资源“源码(精通正则表达式&实战正则表达式)”专注于JavaScript环境下的正则表达式学习,通过一系列视频教程和配套源码,帮助开发者提升对正则表达式的理解和应用能力。 首先,"精通正则表达式五部视频"可能涵盖...

    利用正则表达式巧妙解析度分秒格式字符串

    我们可以创建一个正则表达式模式来匹配度分秒格式的字符串。这个模式可能包含以下几个关键部分: 1. 度:一个整数,可能带有前导的零,如"045"。 2. 分:一个冒号后跟一个两位整数,也可能带有前导的零,如":23"。 ...

    csharp正则表达式参考手册

    许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。正则表达式通常缩写成"regex",...

    正则表达式转NFA实现

    NFA由状态、边和接受状态组成,它可以从任意一个初始状态出发,非确定性地选择一条或多条边进行转移,直到到达接受状态,从而确定一个字符串是否匹配该正则表达式。 将正则表达式转换为NFA的过程通常包括以下步骤:...

    java正则表达式.zip

    通过这些知识点,开发者可以熟练地在Java程序中运用正则表达式进行各种文本处理任务,如数据验证、信息提取等。在实际开发中,结合Java的IO和集合框架,正则表达式可以成为强大的文本处理工具。

    C语言正则表达式库

    PCRE2-10.31是该库的一个具体版本,包含了一系列头文件和库文件,使得开发者可以在自己的C程序中集成正则表达式支持。 正则表达式是一种强大的文本模式匹配工具,它能用来检查一个字符串是否符合某种预定义的模式。...

    java 字符串 正则表达式 详细实例代码

    本篇将深入探讨Java中的字符串、正则表达式及其在实际编程中的详细实例代码。 1. **字符串基础** - Java中的字符串是不可变的,这意味着一旦创建了字符串对象,就不能更改其内容。这由`final`关键字确保,提高了...

Global site tag (gtag.js) - Google Analytics