标签:
正则表达式又叫正规表示法,是一种表达文本模式的方法。通常是使用单个字符串来描述,匹配一系列符合某个规则的字符串。正则表达式是对字符串进行操作并且返回结果的一种工作方式,很多程序设计语言都对其进行了设计,而在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中的正则表达式的那些事。
标签:
原文地址:http://www.cnblogs.com/suliang1100/p/4504915.html