第一部分 JavaScript语言核心(四)

时间:2022-07-23 12:15:11

第九章 类和模块

  • P235 组合VS子类:组合优于继承
  • P236 类的层次结构和抽象类

第十章 正则达式的模式匹配

定义

JS中正则表达式用RegExp对象表示。直接量定义为包含在一堆斜杠(/)之间的字符,如:

var	pattern = /s$/;//匹配所有以s结尾的字符创
//用构造函数RegExp()定义等价于:
var pattern = new RegExp("s$");

直接量字符

第一部分 JavaScript语言核心(四)

字符类

第一部分 JavaScript语言核心(四)

重复

第一部分 JavaScript语言核心(四)

{n,m}	//匹配前一项至少n次,但不能超过m次
{n,} //匹配前一项n次或更多次
{n} //匹配前一项n次
? //匹配前一项0次或一次,即前一项可选,即{0,1}
+ //匹配前一项1次或多次,{1,}
* //匹配前一项0次或多次,{0,} //eg:
/\d{2,4}/ //匹配2~4个数字
/\w{3}\d?/ //精确匹配3个单词和一个可选的数字
/\s+java\s+/ //匹配前后带有一个或多个空格的字符串“java”
/[^()]*/ //匹配一个或多个非左括号的字符

注意:在使用“*”和“?”时,由于这些字符可能匹配0个字符,英雌它们允许什么都不匹配。例如:

/a*/实际上与“bbb”匹配。

非贪婪的重复上面的匹配都是尽可能多的贪婪的匹配。在匹配父后面跟一个“?”即可表示非贪婪匹配:“{1,5}?”

选择、分组和引用

第一部分 JavaScript语言核心(四)

指定匹配位置

第一部分 JavaScript语言核心(四)

修饰符

第一部分 JavaScript语言核心(四)

用于模式匹配的String方法

search(); replace(); match()

RegExp对象

RegExp()构造函数带有两个字符串参数,第二个参数可选。前者为正则主体,后者为修饰符或修饰符组合。

var zipcode = new RegExp("\\d{5}","g");