1. 创建正则表达式:
    1. 字面量形式定义正则表达式:

      Var expression = / pattern /flags ;pattern部分可以使任意简单或复杂的正则表达式。每个正则表达式可以带有一个或多个标志。

      标志为:①g,表示全局模式。②i,表示不区分大小写。③m,表示多行模式

      正则表达式的元字符包括:( [ { \ ^ $ | ? * + . } ] )。注意:模式中使用的所有元字符必须经过转义(使用 \ 符号)。

    2. 使用RegExp构造函数:

      Var pattern = new RegExp("正则表达式","标志符")。两个参数都是字符串。有时要对字符进行双重转义,对所有的元字符都要双重转义。

    3. ECMAScript3中,正则表达式字面量始终共享一个RegExp实例,而使用构造函数创建的每一个新RegExp实例都是一个新实例。

      ECMAScript5中,规定使用正则表达式字面量必须像直接调用构造函数一样,每次创建新的实例。IE9+,FF4+,Chrome都做出了修改。

  2. RegExp实例属性
    1. global:布尔值,表示是否设置了b标志。
    2. ignoreCase:布尔值,表示是否设置了i标志。
    3. lastIndex:整数,表示开始搜索下一个匹配项的字符位置,从0算起。
    4. multiline:布尔值,表示是否设置了m标志。
    5. source:正则表达式的字符串表示,按照字面量形式而非传入构造函数中的字符串模式返回。
  3. RegExp实例方法:
    1. Var matches = pattern.exec(text);

      exec(),接受一个参数,即要应用模式的字符串,然后返回一个包含第一个匹配项信息的数组;或者在没有匹配项的情况下返回null。

      即使设置了全局标志,每次仍只返回一个匹配项。①在不设置全局标志的情况下,在同一字符串上多次调用exec()方法将始终返回第一个匹配项的信息。②在设置全局标志的情况下,每次调用exec()都会在字符串中继续查找新的项。

      返回的数组是Array实例,但包含两个额外属性:index和input。

      Index表示匹配项在字符串中的位置。

      Input表示应用正则表达式的字符串。

      在数组中,第一项是与整个模式匹配的字符串,其他项是与模式中的捕获组匹配的字符串(如果模式中没有捕获组,则该数组只包含一项)。

    2. test()方法,接受一个字符串参数,在模式与该参数匹配的情况下返回true,否则返回false。
    3. toLocalString()与toString()返回正则表达式的字面量。
    4. valueOf()方法返回正则表达式本身。

四、RegExp构造函数属性:P107

JS高级程序设计学习笔记之RegExp类型的更多相关文章

  1. JS高级程序设计学习笔记之Date类型

    日期对象的创建:var now =new Date(),不传递参数时,对象自动获取当前时间.(若要创建特定日期与时间的对象,必须传入该日期距离1970/1/1零点的毫秒数). Date.parse() ...

  2. JS高级程序设计学习笔记之基本包装类型

    概述 基本类型:string.boolean.number 每当读取一个基本类型的值的时候,后台就会创建一个对应的基本包装类型的对象,从而让我们能够调用一些方法来操作这些数据. 使用new操作符创建的 ...

  3. JS高级程序设计学习笔记之第三章基本概念(语法,数据类型,流控制语句,函数)——查漏补缺

    一.语法: 区分大小写; 2.标识符:就是指变量.函数.属性的名字,或者函数的参数 a.标志符的规则:①第一个字符必须是一个字母.下划线(_)或一个美元符号($).                   ...

  4. JS高级程序设计学习笔记——继承

    我们知道,在OO语言中,继承可分为接口继承和实现继承.而ECMAScript的函数没有签名,不能实现“接口继承”,只能通过原型链实现“实现继承”. 在学习了各种继承模式之后,简单总结一下各种继承模式的 ...

  5. JS高级程序设计学习笔记1

    javascript产生的原因: 在拨号上网时代,表单数据必须发送到服务器端才能验证输入值得有效性,JavaScript的研发就是为了解决这个问题,以便在客户端就验证输入值的有效性. ECMAScri ...

  6. JS高级程序设计学习笔记之JS事件(1)

    事件流 冒泡 定义:事件开始时由最具体的元素接收,然后逐级上传到较为不具体的节点.(IE9.FF.Chrome.Safari会将事件一直冒泡到window对象.IE5.5及其以下会跳过<html ...

  7. JS高级程序设计学习笔记之数组

    数组创建的方式 var str = new Array();放入数字即为设置数组长度 var str = []; 数组的length可读可写 监测数组 Array.isArray()方法确定某个值是不 ...

  8. 《JS高级程序设计》笔记 —— 解析查询字符串

    今天在继续翻阅<JS高级程序设计>的时候,正好翻到location对象这一小节,其中有一部分就是讲的解析查询字符串.看到这个内容立马想到了做去哪儿秋招笔试题的时候有这么一道题. 去哪儿笔试 ...

  9. javascript高级程序设计学习笔记

    javascript高级程序设计,当枕头书已经好久了~zz  现在觉得自己在js的开发上遇到了一些瓶颈,归根究底还是基础太薄弱,所以重新刷一遍js高程希望有更新的认识. 一.javascript简介 ...

随机推荐

  1. 如何获取外网Ip呢, 终于找到方法了

    临时更换网址:http://20140507.ip138.com/ic.asp 这个网址能同时获取ip和城市名字 上面的网址如何来的呢,其实很简单,随便打开一个获取Ip的网站,比如http://www ...

  2. SQL从入门到基础 - 07 抑制重复数据

    一.去掉数据重复 distinct 1. Select FDepartment from T_Employee →select distinct FDepartment from T_Employee ...

  3. 导出Exexcl类

    前台: <%@ Page Language="C#" AutoEventWireup="true" EnableEventValidation=" ...

  4. CentOS6.5 PHP基础环境搭建 [个人整理-亲测可用]

    ** * CentOS6.5 搭建基础PHP环境(yum安装) * http://www.aiplaypc.com/160.html **   #安装需要的包,有依赖关系,自动帮你解决 yum ins ...

  5. 利用System.Net.Mail和多线程实现邮件发送

    对于邮件发送,一般来说,程序会响应超过1秒,这样对于用户体验来说,让用户等待的时间过长,而且发送的邮件越多时间就越长,所以这里我利用了线程的来处理邮件发送这种耗时的工作,废话不多说,直接上代码 pri ...

  6. IIC 概述之用IO模拟

    最近做的一个项目,是基于IIC总线通信的传感器系统.由于另外一个传感器使用的是类IIC协议,而不是标准IIC,所以MCU不能与其通信,最后没有办法,只有通过I/O口模拟的方式实现IIC的总线通信.具体 ...

  7. 命令行工具命令 - run包到手机里

    命令行工具命令 你完全可以选择不输入以下这些命令,执行这些命令的结果与在 Android Studio 中单击"运行"按钮是一样的. chmod +x gradlew - 此命令只 ...

  8. IOS 客户端测试入门.pdf

    IOS 客户端测试入门  http://www.open-open.com/doc/view/42d1257bf67946f595e843bfdbdfeabf

  9. 工控主板EM9161对ISO7816协议的支持

    在当前的金融POS终端及相关领域,ISO7816通讯协议得到了广泛应用.英创的工控主板EM9161,可在其异步串口的基础上,通过简单的设置,就可把串口转为符合ISO7816协议的接口,实现与各种智能卡 ...

  10. Wireshark "The NPF driver isn’t running…"(可见的驱动本质上是一个系统服务,使用net start 启动)

    前几天重装系统,装上了windows7 RC系统.昨天开始尝试装上了wireshark 这款很强大的网络监视软件,满心欢喜的打开,可是每次打开都会弹出“The NPF driver isn't run ...