js正则表达式总结

js正则表达式总结

ID:14101496

大小:84.50 KB

页数:18页

时间:2018-07-26

js正则表达式总结_第1页
js正则表达式总结_第2页
js正则表达式总结_第3页
js正则表达式总结_第4页
js正则表达式总结_第5页
资源描述:

《js正则表达式总结》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、JavaScript中的正则表达式创建一个正则表达式第一种方法:varreg=/pattern/;第二种方法:varreg=newRegExp('pattern');正则表达式的exec方法简介语法:reg.exec(str);其中str为要执行正则表达式的目标字符串。例如:varreg=/test/;varstr='testString';varresult=reg.exec(str);alert(result);将会输出test,因为正则表达式reg会匹配str(‘testS

2、tring’)中的’test’子字符串,并且将其返回。我们使用下面的函数来做匹配正则的练习:functionexecReg(reg,str){varresult=reg.exec(str);alert(result);}函数接受一个正则表达式参数reg和一个目标字符串参数str,执行之后会alert出正则表达式与字符串的匹配结果。用这个函数测试上面的例子就是:functionexecReg(reg,str){varresult=reg.exec(str);alert(result);}varreg

3、=/test/;varstr='testString';execReg(reg,str);上面的例子用正则里的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

4、(reg,str);返回结果creg=/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}/

5、;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);结果返回c。reg=/c{1,}/;str='cccccTest';execReg(reg,str);返回ccc

6、cc,再次说明了正则表达式会尽量多地匹配。reg=/c{2,}/;str='cainiao';execReg(reg,str);结果返回null,c{2,}表示2个以上的c,而cainiao中只有1个c。由以上例子可知,c{n,}表示最少n个c,最多则不限个数。*,+,?*表示0次或者多次,等同于{0,},即c*和c{0,}是一个意思。+表示一次或者多次,等同于{1,},即c+和c{1,}是一个意思。最后,?表示0次或者1次,等同于{0,1},即c?和c{0,1}是一个意思。贪心与非贪心人都是贪婪的,正则也是如此。我们在例子reg=/c{3,4}/;str

7、='ccccTest';的例子中已经看到了,能匹配四个的时候,正则绝对不会去匹配三个。上面所介绍的所有的正则都是这样,只要在合法的情况下,它们会尽量多去匹配字符,这就叫做贪心模式。如果我们希望正则尽量少地匹配字符,那么就可以在表示数字的符号后面加上一个?。组成如下的形式:{n,}?,*?,+?,??,{m,n}?同样来看一个例子:reg=/c{1,}?/;str='ccccc';execReg(reg,str);返回的结果只有1个c,尽管有5个c可以匹配,但是由于正则表达式是非贪心模式,所以只会匹配一个。/^开头,结尾$/^表示只匹配字符串的开头。看下面的

8、例子:reg=/^c/;str='维生素c';execReg(re

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。