正则表达式的简要说明.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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]); } //找到匹配字符串所在位置,这里输出是3 alert(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

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档