- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
正则表达式的简要说明
正则表达式的简要说明
正则表达式的简要说明(参考Nicholas C. Zakas的《Javascript高级程序设计》ISBN 7-115-15209-8)
什么是正则表达式?用来表示指定的字符或者字符串在另一个字符串出现的情况。比如可用于去除字符串中的空格,典型如Trim()函数;检查金额字符串的有效性等等。
怎么用呢?能否举个例子呢?首先要定义一个正则表达式,有2种办法Var re = new RegExp(“cat”);或Var re = /cat/还可以指定几个参数。Var re = new RegExp(“cat”,gi);或Var re = /cat/gi;参数g是指找到全部匹配cat的字符串,参数i是不区分大小写。
下面介绍几个简单的使用方法,方便理解。
测试字符串中是否有匹配的值alert(re.test(“cat 123”)); //显示true
str = a bat, a Cat, a fAt baT, a faT cat;rs = /at/gi; //定义正则表达式
//找到所有匹配的字符串,保存在数组中返回。ss = str.match(rs);for(i=0;iss.length;i++){alert(ss[i]);}
//找到匹配字符串所在位置,这里输出是3alert(str.search(/at/));
//替换指定的字符串,下面2个方法都是有效的。alert(str.replace(bat,bbb));alert(str.replace(/bat/,bbb));如果用正则,还可以加上参数gi就可以不分大小写替换所有配置的字符串。alert(str.replace(/bat/gi,bbb));
如果你想查找的字符是一些符号的话,比如?(问号)、*(星号)等,定义正则表达式要这样var re = /\?/;或var re = new RegExp(\\?); //注意要有2个\\
为什么要这样呢?因为正则表达式中有一些“元字符”,这些元字符可以帮助实现更加复杂的功能,后面会介绍到。这些元字符有:( ) [] {} \ ^ $ | ? * + .要注意区别,这些字符在你的正则表达式中是用来做查找的字符,还是用来做参数用的。
正则表达式还有一些特殊字符,\t 制表符\n 换行符\r 回车符\f 换页符\a alert字符\e escape字符\cX 与X相对应的控制字符\b 回退字符\v 垂直制表符\0 空字符这些有什么用呢?比如我自己曾经遇到一个问题,页面上有一个textarea收集长文本,然后我要把这个长文本放到一个div.innerText中,但原来的换行都显示成空格。这个问题就可以用下面的正则来解决了,div.innerHtml = sLongText.replace(/\n/g,br); //把字符串中所有换行符转成br
下面的例子是查找所有配置bat、cat、fat的字符串var str = a bat, a Cat, a fAt baT, a faT cat;var re = /[bcf]at/gi; //注意中括号的作用var results = str.match(re);alert(results.length); //返回6查找所有除了bat、cat的其他字符开头+at的字符串var str = a bat, a Cat, a fAt baT, a faT cat 1at;re = /[^bc]at/gi;results = str.match(re);alert(results.length); //返回3
查找一定范围内的字符串var str = num1, num2, num3, num4, num5, num6, num7, num8, num9;re = /num[1-4]/gi;results = str.match(re);alert(results.length);for(i=0;iresults.length;i++){alert(results[i]); //返回num1 num2 num3 num4}如果查找对象没有顺序的时候,看下面的效果var str = num1, num32, num5, num2, num4, num3, num7, num8, num9;re = /num[1-4]/gi;results = str.match(re);alert(results.length);for(i=0;iresults.length;i++){alert(results[i]); //返回num1 num3(注意不是nu
您可能关注的文档
- Linux下嵌入式开发学习宝典.doc
- RHEL6:正测表达式_NFS_ACL_SELINUX_日志管理.doc
- Linux讲稿(第5课).doc
- Linux葵花宝典.ppt
- 关于domino视图翻页的解决方法.doc
- Excel快捷键大全_精心之作.doc
- 操作系统课程作业实现shell.docx
- 《Web数据库》实验指导书.doc
- 51单片机——数字频率计.doc
- struts + jdbc的分页程序.doc
- 新教材2023年高考物理总复习-考案6-周测卷五-抛体运动-圆周运动课件.pptx
- 中央空调基础-PPT课件.ppt
- 部编版七年级历史上册第20课-魏晋南北朝的科技与文化-精品课件(共63张PPT).pptx
- 部编人教版七年级道德与法治下册第四单元《走进法治天地》优质课课件(2课共4课时).ppt
- 第3章数控铣削加工工艺(教案9).ppt
- 新人教版八年级物理上册期中考试卷【参考答案】.doc
- 2016-2017学年北京朝阳区人大附朝阳学校初二上学期期中物理试卷.pdf
- 药物传递:第二章.ppt
- 小学生国庆节实践的活动方案.docx
- 人教部编版七年级上册第三单元名著导读《朝花夕拾》课件(38张ppt).pptx
文档评论(0)