第九章 类和模块

  • 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语言核心(四)的更多相关文章

  1. 第一部分 JavaScript语言核心(二)

    第四章 表达式和运算符 P66 运算符优先级,从上到下: p68 属性访问表达式和调用表达式的优先级比运算符优先级都要高,eg: typeof my.functions[x](y) //typeof在 ...

  2. 第一部分 JavaScript语言核心(一)

    第二章 词法结构 P25 JavaScript是区分大小写的语言:但HTML不区分大小写(XHTML区分大小写,但浏览器具有强大的纠错能力.) 第三章 类型.变量和值 P32 var(variable ...

  3. 第一部分 JavaScript语言核心(三)

    第六章 对象 P123 在ES3中,点运算符后的标识符不能是保留字.如果一个对象的属性名是保留字,name必须使用方括号的形式访问它们,如o["for"]和o["clas ...

  4. 第一章:Javascript语言核心

    本节是javascript语言的一个快速预览,也是本书的第一部分快速预览. 读此书之前,感谢淘宝技术团队对此javascript核心的翻译,感谢弗拉纳根写出此书.感谢你们无私的分享,仅以此笔记献给你们 ...

  5. 使用Firebug或chrome-devToolBar深入学习javascript语言核心

    使用Firebug和chrome-devToolBar调试页面样式或脚本是前端开发每天必做之事.这个开发神器到底能给我们带来哪些更神奇的帮助呢?这几天看的一些资料中给了我启发,能不通过Firebug和 ...

  6. javascript权威指南笔记--javascript语言核心(四)

    对象: 通过引用(而非值)来操作对象: var obj = {"x":1,"y":2}; var copyObj = obj; copyObj.x = 5; c ...

  7. JavaScript语言核心之词法结构

    编程语言的词法结构是一套基础性规则,用来描述如何使用这门语言来编写程序.作为语法的基础,它规定了诸如变量名是什么样的.怎么写注释,以及程序语句之间如何分割的等规则. 1.1字符集 JavaScript ...

  8. JavaScript语言核心--词法结构

    编程语言的词法结构是一套基础性规则,用来描述如何使用这门语言来编写程序.作为语法的基础,它规定了诸如变量名是什么样的.怎么写注释,以及程序语言之间如何分隔等规则. 1. 字符集 JavaScript程 ...

  9. javascript权威指南笔记--javascript语言核心(一)

    1.javascript的数据类型分为两类:原始类型和对象类型. 原始类型包括字符串.数字.布尔值.null.undefined. 对象是属性的集合,每个对象都由“名/值”对构成.数组和函数是特殊的对 ...

随机推荐

  1. body滚动时左侧菜单固定

    var top = $(".nav-frame").offset().top $(document).scroll(function(){ if($(this).scrollTop ...

  2. 072、Java面向对象之定义构造方法

    01.代码如下: package TIANPAN; class Book { // 定义一个新的类 public Book() { // 构造方法 System.out.println("* ...

  3. C# WinForm 自定义控件,DataGridView背景透明,TabControl背景透明

     注意: 以下代码,属性直接赋值的语法糖要vs2015以上才支持.   using System.ComponentModel; using System.Drawing; using System. ...

  4. IdentityServer4专题之三:OAuth、SSO和OpenID

    一.oauth 典型案例:如果一个用户R拥有两项服务:一项服务是图片在线存储服务A,另一个是图片在线打印服务B.由于服务A与服务B是由两家不同的服务提供商提供的,所以用户在这两家服务提供商的网站上各自 ...

  5. 18 SQL优化

    1.SQL语句优化的一般步骤       1).了解各种SQL的执行频率         客户端连接成功后,可以通过SHOW [SESSION | GLOBAL] STATUS 命令来查看服务器状态信 ...

  6. windows制作动态链接库和使用一

    制作: //myDll.h _declspec(dllexport) int add(int a,int b); _declspec(dllexport) int sub(int a,int b); ...

  7. 新闻网大数据实时分析可视化系统项目——18、Spark SQL快速离线数据分析

    1.Spark SQL概述 1)Spark SQL是Spark核心功能的一部分,是在2014年4月份Spark1.0版本时发布的. 2)Spark SQL可以直接运行SQL或者HiveQL语句 3)B ...

  8. VUE - 引入 npm 安装的模块 以及 uuid模块的使用

    <template>   <div>       <form @submit.prevent="addTodo">         <in ...

  9. maven intall 命令用法

    作用:将自定义maven项目  打成maven依赖存放到本地库,我们可以在另一个项目pom文件中加入相应依赖,刷新mavne即可将其加入项目中使用 使用说明:win+R 打开命令窗口,将目录切换至项目 ...

  10. 使用Ghidra分析phpStudy后门

    一.工具和平台 主要工具: Kali Linux Ghidra 9.0.4 010Editor 9.0.2 样本环境: Windows7 phpStudy 20180211 二 .分析过程 先在 Wi ...