您的位置:首页 > Web前端 > JavaScript

JS正则表达式学习一:简单入门

2013-03-13 11:24 579 查看
每一次看正则表达式的时候都是刚开始看的时候信息量非常的大,可以一下子就容入自己的脑子里,但是时间一长,一天之后就会变的模糊不清,可能是因为一直没有机会用上的原因吧。所以现在还把最简单的可以入门的东西先放进这一个资料库,之后等到有一天自己真的需要用到的时候再回来看看,再做一些扩展吧。

这一篇文章的主线是String的三个方法search(),replace(),match(),,而正则表达式穿插其中,为什么要这样呢,因为我觉得,正则表达式它只是一个供别人调用的模板,如果缺少了调用的主体,那么它也就失去了存在的价值了。

1. search()方法:查找String中的匹配某一个"模式"的元素的位置。

正则表达式简单准备知识:

1)var expression = /pattern/flags;//建立一个模式。

最简单的例子“/abc/g”:匹配所有字符串abc

2)flag存在的三种模式:

* g:表示全局模式(global),将匹配应用于所有的字符串,非发现第一个就停止。

* i:表示不区分大小写模式

* m:表示多行模式:在到达一行文本末尾时还会继续查找下一行中

下面是代码段:

var str = "0123456789";
//返回查找到的匹配元素的第一个位置
//如果找不到匹配元素,那么就返回-1
//如果后面有一个g的标志,则忽略g
console.log(str.search(/abc/));//-1
console.log(str.search(/123/));//1


2. replace()方法:查找String中匹配某一个“模式”的元素,并把它/它们替换成最后想要的内容:

下面是代码段:

//查找到某些匹配元素并对其进行替换
var mod =/345/g;
str.replace(mod,"abc");
console.log(str);//0123456789
//有替换,但是替换到的是新的元素,而不是当前的那个元素
console.log("str.replace:" + str.replace(mod,"abc"));//012abc6789


3. match()方法:查找String中匹配某一个“模式”的元素,并返回查找到的内容(使用数组)。
正则表达式简单准备知识:

1)\d:表示匹配数字

2)+:表示匹配某元素一个或更多

总:即上面两段结合起来,/\d+/表示的就是匹配一个或多个数字。

下面是代码段:

//match
var str = "0abc123def456";
var myArr = str.match(/\d+/g);
console.log("myArr:" + myArr);//0,123,456


总的来说 ,无论是search(),replace(),还是match(),最初都要经过一个查找的过程,而在查找的过程中,需要用到一些方法,例如,使用正则表达式来进行匹配。而我想这就是正则表达式使用的原因之一,它不会是一个独立存在的东西,只有依附在其它的事物之上才会变的强大起来。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: