浅谈正则表达式实例入门_第1页
浅谈正则表达式实例入门_第2页
浅谈正则表达式实例入门_第3页
浅谈正则表达式实例入门_第4页
浅谈正则表达式实例入门_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、浅谈正则表达式 实例入门很长时间没看 正则表达式了,碰巧今天用到,温故知新了一把 看书学习吧 50% 的举一反三练习中的原创。 一 javascript正则表达式的基本知识 1 javascript 正则对象创建 和用法 声明javascript 正则表达式 复制代码 代码如下: var reCat = new RegExp(cat); 你也可以 var reCat = /cat/; /Perl 风格 (推荐) 2 学习最常用的 test exec match search replace split 6个方法 1) test 检查指定的字符串是否存在 复制代码 代码如下: var data

2、= 123123; var reCat = /123/gi; alert(reCat.test(data); /true /检查字符是否存在 g 继续往下走 i 不区分大小写 2) exec 返回查询值 复制代码 代码如下: var data = 123123,213,12312,312,3,Cat,cat,dsfsdfs,; var reCat = /cat/i; alert(reCat.exec(data); /Cat 3)match 得到查询数组 复制代码 代码如下: var data = 123123,213,12312,312,3,Cat,cat,dsfsdfs,; var reCa

3、t = /cat/gi; var arrMactches = data.match(reCat) for (var i=0;i arrMactches.length ; i+) alert(arrMactchesi); /Cat cat 4) search 返回搜索位置 类似于indexof 复制代码 代码如下: var data = 123123,213,12312,312,3,Cat,cat,dsfsdfs,; var reCat = /cat/gi; alert(data.search(reCat); /23 5) replace 替换字符 利用正则替换 复制代码 代码如下: var d

4、ata = 123123,213,12312,312,3,Cat,cat,dsfsdfs,; var reCat = /cat/gi; alert(data.replace(reCat,libinqq); 6)split 利用正则分割数组 复制代码 代码如下: var data = 123123,213,12312,312,3,Cat,cat,dsfsdfs,; var reCat = /,/; var arrdata = data.split(reCat); for (var i = 0; i arrdata.length; i+) alert(arrdatai); 3 学习下 简单类 负向

5、类 范围类 组合类 复制代码 代码如下: /简单类 var data = 1libinqq,2libinqq,3libinqq,4libinqq; var reCat = /123libinqq/gi; var arrdata = data.match(reCat); for (var i = 0; i arrdata.length; i+) alert(arrdatai); / 1libinqq 2libinqq 3libinqq /负向类 var data = alibinqq,1libinqq,2libinqq,3libinqq,4libinqq; /u0062cf var reCat

6、= /a123libinqq/gi; var arrdata = data.match(reCat); for (var i = 0; i arrdata.length; i+) alert(arrdatai); /4libinqq /范围类 var data = libinqq1,libinqq2,libinqq3,libinqq4,libinqq5; /u0062cf var reCat = /libinqq2-3/gi; var arrdata = data.match(reCat); for (var i = 0; i arrdata.length; i+) alert(arrdata

7、i); / libinqq2 libinqq3 /组合类 var data = a,b,c,w,1,2,3,5; /u0062cf var reCat = /a-q1-4n/gi; var arrdata = data.match(reCat); for (var i = 0; i arrdata.length; i+) alert(arrdatai); / a b c 1 2 3 这些都是 js正则 最基本的使用方法,看不会的请复制到笔记本练习下,看会了再往下面看。 二 javascript 正则表达式是分组知识 1) 简单分组 复制代码 代码如下: !- /*正则表达式 简单的分组 举例

8、我们要查找字符串 MouseMouse var reCat = /MouseMouse/gi; 尽管这是可以的,但是有点浪费。如果不知道Mouse 在字符串中到底出现几次时该怎么办,如果重复多次呢。 var reCat = /(mouse)2/gi; 括号的意思列Mouse 将在一行连续出现2次。 */ var data = Ah-mousemouse; var reCat = /(mouse)2/gi; var arrdata = data.match(reCat); for (var i = 0; i 2 复杂分组 复制代码 代码如下: !- /*正则表达式 复杂的分组 ? 零次 或 一次

9、 * 零次 或 多次 + 最少一次 或 多次 */ var data = bb ba da bad dad aa ; var reCat = /(bdad?)/gi; / 匹配出 ba da bad dad var arrdata = data.match(reCat); for (var i = 0; i 3 反向引用 复制代码 代码如下: 4 候选 复制代码 代码如下: 5 非捕获性分组 复制代码 代码如下: 6 前瞻 复制代码 代码如下: 7 边界 复制代码 代码如下: !- /*正则表达式 边界 行开头 $ 行结尾 b 单词的边界 B 非单词的边界 */ var sToMatch =

10、Important word is the last one.; var reLastWord = /(w+).$/; reLastWord.test(sToMatch); alert(RegExp.$1); /one /* 假如想查找一个单词,但要它只出现在行尾,则可以使用美元符号 ($)来表示它: */ var sToMatch = Important word is the last one.; var reLastWord = /(w+)/; reLastWord.test(sToMatch); alert(RegExp.$1); /Important /* 在这个例子中,正则表达式查

11、找行起始位置后的一个或多个单词字符。如果遇到非单词字符 匹配停止,返回 Important。 这个例子也可以用单词边界实现。 */ var sToMatch = Important word is the last one.; var reLastWord = /(.+?)b/; reLastWord.test(sToMatch); alert(RegExp.$1); /Important /* 这里,正则表达式用惰性量词来制定在单词边界之前可以出现任何字符,且可以出现一次或 多次(如果使用贪婪性量词,表达式就匹配整个字符串)。 */ var data = First second thind

12、 fourth fifth sixth ; var reCat = /b(S+?)b/g; var arrdata = data.match(reCat); for (var i = 0; i 8 多行模式 Code 复制代码 代码如下: !- /*正则表达式 多行模式 要制定多行模式,只要在正则表达式想要匹配的行末的一个单词 */ var data = First secondn thind fourthn fifth sixth; var reCat = /(w+)$/g; var arrdata = data.match(reCat); for (var i = 0; i arrdata.length; i+) alert(arrdatai); /* 上面只返回一个单词 sixth,因为换行符阻挡了匹配,只能匹配行末的一个单词, 当然也可以使用 split() 方法将字符串分割成数组,但就得对每一行进行单独匹配。 以前不好好看书经常半吊子,看一半就仍了,导致用了好多 split, 其实很简单如下面 例子 只需

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论