第九章 类和模块
- P235 组合VS子类:组合优于继承
- P236 类的层次结构和抽象类
第十章 正则达式的模式匹配
定义
JS中正则表达式用RegExp对象表示。直接量定义为包含在一堆斜杠(/)之间的字符,如:
var pattern = /s$/;//匹配所有以s结尾的字符创
//用构造函数RegExp()定义等价于:
var pattern = new RegExp("s$");
直接量字符
字符类
重复
{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}?”
选择、分组和引用
指定匹配位置
修饰符
用于模式匹配的String方法
search(); replace(); match()
RegExp对象
RegExp()构造函数带有两个字符串参数,第二个参数可选。前者为正则主体,后者为修饰符或修饰符组合。
var zipcode = new RegExp("\\d{5}","g");