信息中心
站内动态
新闻聚焦
贴心服务
网站营销
网站优化
技术文档
当前位置: 首页 > 信息中心 > 技术文档 > 正文

湛企动力-JS的正则表达式

时间:2013-07-12 08:56  来源:湛企动力   点击:

创建一个正则表达式

第一种方法:

var reg = /pattern/;

第二种方法:

var reg = new  RegExp('pattern');

正则表达式的exec方法简介

语法:

reg.exec(str);

其中str为要执行正则表达式的目标字符串。

例如:

<script  type="text/javascript">var reg = /test/;var str = 'testString';var result =  reg.exec(str);alert(result);</script>

将会输出test,因为正则表达式reg会匹配str(‘testString’)中的’test’子字符串,并且将其返回。

我们使用下面的函数来做匹配正则的练习:

function  execReg(reg,str){ var result =  reg.exec(str); alert(result);}

函数接受一个正则表达式参数reg和一个目标字符串参数str,执行之后会alert出正则表达式与字符串的匹配结果。

用这个函数测试上面的例子就是:

<script  type="text/javascript">function  execReg(reg,str){ var result =  reg.exec(str); alert(result);}var reg = /test/;var str = 'testString';execReg(reg,str);</script>

上面的例子用正则里的test去匹配字符串里的test,实在是很无聊,同样的任务用indexOf方法就可以完成了。用正则,自然是要完成更强大的功能:

一片两片三四片,落尽正则全不见

上面的小标题翻译成正则就是{1},{2},{3,4},{1,}。

c{n}

{1}表示一个的意思。

/c{1}/只能匹配一个c。

/c{2}/则会匹配两个连续的c。

以此类推,

/c{n}/则会匹配n个连续的c。

看下面的例子:

reg = /c{1}/;str='cainiao';execReg(reg,str);

返回结果c

reg = /c{2}/;str='cainiao';execReg(reg,str);

返回结果null,表示没有匹配成功。

reg = /c{2}/;str='ccVC果冻爽';execReg(reg,str);

返回结果cc。

c{m,n}

c{3,4}的意思是,连续的3个c或者4个c。

例如

reg = /c{3,4}/;str='ccVC果冻爽';execReg(reg,str);

返回结果null,表示没有匹配成功。

reg = /c{3,4}/;str='cccTest';execReg(reg,str);

结果返回ccc。

reg = /c{3,4}/;str='ccccTest';execReg(reg,str);

结果返回cccc,这表明正则会尽量多品牌,可3可4的时候它会选择多匹配一个。

reg = /c{3,4}/;str='cccccTest';execReg(reg,str);

仍然只匹配4个c。

由以上例子可以推断出,c{m,n}表示m个到n个c,且m小于等于n。

c{n,}

c{1,}表示1个以上的c。例如:

reg = /c{1,}/;str='cainiao';execReg(reg,str); 
 
站长名片
© 2013 湛企动力工作室 版权所有,并保留所有权利  粤ICP备10038831号
工作室地址:广东省湛江市赤坎区金城区一横路8号
服务咨询热线:137-2693-9729    客户服务
网络实名:湛企动力  网址:www.zqdl.org