JavaScript权威指南之学习笔记(第六版)(8)

2019-01-07 18:26

10.1正则表达式支持

10.1.1使用RegExp对象

例:

Var match=”cat”; Var reCat=/cat/;

或 reCat=new RegExp(“cat”); Alert(reCat.test(match));//

RegExp的test方法测试字符串是否匹配这个模式。 Var match=”a bat,a Cat,a fAt bat,a faT cat”; Var reAt=/at/;

Var arrMatches=reAt.exec(match);

RegExp对象的exce方法返回一个数组,数组中的第一条目是第一

个匹配;其他的是反向引用。

String对象数组有的match()方法,它会返回一个包含所有字符串

中的所有匹配的数组。

Var s=”a bat,a Cat,a fAt bat,a faT cat”; Var reAt=/at/gi;

或 reCat=new RegExp(“cat”,”gi”); Var arr=s.match(reAt);

String对象的Search()字符串方法返回在字符串中出现的一个匹

配的位置。

Alert(s.search(reAt)); 10.1.2扩展的字符串方法

String对象的replace()和split()方法都可以传递正则表达式。 这里的replace()方法的第二个参数可以传递一个函数。这处函数可

以接受一个参数,即匹配了的文本,并返回应当进行替换的文本

var tt=”The sky os red”; var re=/red/;

var sText=tt.replace(re,function(sMatch){ return “blu

e”;});

sMatch这个参数就是用模式re匹配后的文本!!

10.2简单模式

10.2.2元字符

正则表达式的元字符是正则表达式语法的一部分。 ( [ { \\ ^ $ | } ? * + .

任何时候要在正则表达式中使用元字符都必须对它们进行转义用?

\\?。

Var retest=/\\?/;

或var retest=new RegExp(“\\\\?”);//必须用两个反斜杠,如果

用的一个反斜杠,那么JS解释器会按照\\n的方式翻译\\?.

10.2.2使用特殊字符

转义字符

10.2.3字符类

就是把一些字符放入方括号中,然后正则表达式去匹配里面的各个

字符。也即只能匹配方括号中的任意一个字符,不是同时匹配全部啊!!!

1.简单类

例:[adf]等

2.负向类

例:[^adf]等,告诉正则表达式不能匹配脱字符^后面跟着的

字符。

3.范围类

例:[a-z] [A-Z] [0-9] [^b-z]等

4.组合类

例 [a-m1-4\\n]注意各个内部类之间没有空格。

5.预定义类

代码 .

等同于

匹配

除了换行和回车之外的任意字

[^\\n\\r]

\\d \\D

[0-9] [^0-9]

数字

非数字

\\s \\S \\w

[\\t\\n\\f\\r\\x0b] 空白符

非空白符

[^\\t\\n\\f\\r\\x0b] [a-xA-Z_0-9]

单词字符 (有可能匹配汉字)

看语言支持Unicode字段否

\\W

[^a-xA-Z_0-9]

非单词字符

10.2.4量词

1.简单量词 代码 ? * + {n}

描述

出现零次或一次

出现零次或多次(任意次) 出现一次或多次

刚好出现n次

{n,m} {n,}

至少出现n次,至多m次

至少出现n次

2.贪婪的、惰性的和支配性量词

贪婪性量词先看整个字符串是否匹配,如果没有匹配,它先去掉该

字符串最后一个字符,并再次尝试。这个过程一直重复下去。

惰性量词先看字符中的第一个字符是否匹配,如果不匹配,就读入

下一个量词,组成两个字符的字符串,再比匹配。这个过程一直重复下去,直到匹配或没有匹配。

支匹配性量词只尝试匹配整个字符串,如果整个字符串不能产生匹

配,不做进一步尝试。 贪婪 ? * + {n}

惰性 ?? *? +?

支配 ?+ *+ ++

{n}+

{n}?

{n,m} {n,} 例:

{n,m}?

{n,m}+ {n,}+

{n,}?

Var sToMatch=”abbbaabbbaaabbb1234”; Var re1=/.*bbb/g; Var re2=/.*?bbb/g; Var re3=/.*+bbb/g;

如果想获得的匹配是”abbb”,”aabbb”,”aaabbb”,这三个表达式中只有

re2能匹配成功。

10.2.5标志

字符 i

含义

执行不区分大小定的匹配


JavaScript权威指南之学习笔记(第六版)(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2017-3-2监理例会纪要

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: