码迷,mamicode.com
首页 > 编程语言 > 详细

JavaScript中使用正则表达式

时间:2015-05-15 06:33:19      阅读:213      评论:0      收藏:0      [点我收藏+]

标签:

      正则表达式又叫正规表示法,是一种表达文本模式的方法。通常是使用单个字符串来描述,匹配一系列符合某个规则的字符串。正则表达式是对字符串进行操作并且返回结果的一种工作方式,很多程序设计语言都对其进行了设计,而在JavaScript中对正则表达式的实现是基于perl的语法规则进行构建的。记得教我编程的老师说过“道士的驱魔符,医生的处方单,程序员的正则表达式”称为三个行业奇迹,表示非行业内的人很难弄懂到底是什么意思。其实正则表达式还是很容易入门的,但是要精通的话还是需要话一些时间的。

技术分享

现在有这样的一个需求,有一个字符串,我们需要将字符串中的数字全部挑选出来并且保存到数组中去,不用正则表达式的情况下我们可以考虑使用JavaScript的字符串函数进行实现,代码如下所示:

var str = "ash1kj27ja875jsow5096hikjhs1pols65787";
var arr = [];
var temp = "";  //临时保存变量
for(var i=0;i<str.length;i++){
    if(str[i]<="9" && str[i]>="0"){
        temp+=str[i];
    }else{
        temp && arr.push(temp);
        temp = "";
    }
}
temp && arr.push(temp);
console.log(arr);

执行结果如下:

技术分享

字符串是可以进行比较操作的,所以我们可以利用只有数字才会大于"0"且小于"9"的规律顺利查找出所有的数字。使用字符串方法来操作的缺点有以下两个:

1,操作繁琐,如果需要进行的操作很复杂的话需要比较好的算法设计才能完成。

2,效率很低,不断地执行循环操作非常影响程序的性能。

而使用正则表达式来操作的话就就简单多了,代码如下所示:

var str = "ash1kj27ja875jsow5096hikjhs1pols65787";
console.log(str.match(/\d+/g));

使用正则表达式两行代码就能达到一样的效果,而且执行效率还很高,所以还是觉得正则表达式确实是神兵利器,下面我们慢慢来说JavaScript中的正则表达式的那些事。

JavaScript中使用正则表达式

标签:

原文地址:http://www.cnblogs.com/suliang1100/p/4504915.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!