第一部分 JavaScript语言核心(四)
第九章 类和模块
- 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");
第一部分 JavaScript语言核心(四)的更多相关文章
- 第一部分 JavaScript语言核心(二)
第四章 表达式和运算符 P66 运算符优先级,从上到下: p68 属性访问表达式和调用表达式的优先级比运算符优先级都要高,eg: typeof my.functions[x](y) //typeof在 ...
- 第一部分 JavaScript语言核心(一)
第二章 词法结构 P25 JavaScript是区分大小写的语言:但HTML不区分大小写(XHTML区分大小写,但浏览器具有强大的纠错能力.) 第三章 类型.变量和值 P32 var(variable ...
- 第一部分 JavaScript语言核心(三)
第六章 对象 P123 在ES3中,点运算符后的标识符不能是保留字.如果一个对象的属性名是保留字,name必须使用方括号的形式访问它们,如o["for"]和o["clas ...
- 第一章:Javascript语言核心
本节是javascript语言的一个快速预览,也是本书的第一部分快速预览. 读此书之前,感谢淘宝技术团队对此javascript核心的翻译,感谢弗拉纳根写出此书.感谢你们无私的分享,仅以此笔记献给你们 ...
- 使用Firebug或chrome-devToolBar深入学习javascript语言核心
使用Firebug和chrome-devToolBar调试页面样式或脚本是前端开发每天必做之事.这个开发神器到底能给我们带来哪些更神奇的帮助呢?这几天看的一些资料中给了我启发,能不通过Firebug和 ...
- javascript权威指南笔记--javascript语言核心(四)
对象: 通过引用(而非值)来操作对象: var obj = {"x":1,"y":2}; var copyObj = obj; copyObj.x = 5; c ...
- JavaScript语言核心之词法结构
编程语言的词法结构是一套基础性规则,用来描述如何使用这门语言来编写程序.作为语法的基础,它规定了诸如变量名是什么样的.怎么写注释,以及程序语句之间如何分割的等规则. 1.1字符集 JavaScript ...
- JavaScript语言核心--词法结构
编程语言的词法结构是一套基础性规则,用来描述如何使用这门语言来编写程序.作为语法的基础,它规定了诸如变量名是什么样的.怎么写注释,以及程序语言之间如何分隔等规则. 1. 字符集 JavaScript程 ...
- javascript权威指南笔记--javascript语言核心(一)
1.javascript的数据类型分为两类:原始类型和对象类型. 原始类型包括字符串.数字.布尔值.null.undefined. 对象是属性的集合,每个对象都由“名/值”对构成.数组和函数是特殊的对 ...
随机推荐
- 机器学习(ML)十一之CNN各种模型
深度卷积神经网络(AlexNet) 在LeNet提出后的将近20年里,神经网络一度被其他机器学习方法超越,如支持向量机.虽然LeNet可以在早期的小数据集上取得好的成绩,但是在更大的真实数据集上的表现 ...
- [Codeforces #608 div2]1271C Shawarma Tent
Description The map of the capital of Berland can be viewed on the infinite coordinate plane. Each p ...
- Time Series_2_Multivariate_TBC!!!!
1. Cointegration 2. Vector Autoregressive Model 3. Impulse-response Function 4. Volatility Modeling ...
- Linux之文件传输
本文借鉴<Linux命令大全> 1. bye命令 功能:终端FTP连线并结束程序 语法:bye 补充:在ftp模式下,输入bye即可中断目前的连线作业,并结束ftp的执行. 2. ftp命 ...
- 吴裕雄--天生自然JAVA数据库编程:ResultSet接口
import java.sql.Connection ; import java.sql.DriverManager ; import java.sql.SQLException ; import j ...
- Django创建完全独立的APP
我们之前已经完成了项目的结构搭建,但是,在Django当中,我们强调的一个重要概念是app,比如Django自带的admin就是一个成功的app典范,那么我们应该如果整理自己的项目结构,才能让我们的a ...
- jenkins -- 邮件的配置
参考博文:https://blog.csdn.net/lykio_881210/article/details/81135769 https://www.jianshu.com/p/29a29ce6e ...
- python编写banner获取的常用模块
模块的概念:模块也叫库,每个模块中都内置了大量的功能和函数.类和变量.它就像是积木,可以根据需要进行调用组合.模块就是程序,每个模块就是一个后缀为.py的Python程序.Python的模块分为标准模 ...
- VMware导入和删除虚拟机文件
VMware中导入已存在的虚拟机文件: 1.文件-->打开-->选择虚拟机文件-->完成 VMware中完全删除虚拟机文件 2.在虚拟机上右键单击-->管理--> ...
- 在 Scale Up 中使用 Health Check【转】
对于多副本应用,当执行 Scale Up 操作时,新副本会作为 backend 被添加到 Service 的负载均衡中,与已有副本一起处理客户的请求.考虑到应用启动通常都需要一个准备阶段,比如加载缓存 ...