1、定义

RegExp对象是原生JavaScript中表示正则表达式的对象;是正则表达式(regular expression)的简写。有一点需要明确知道,正则表达式只能对字符串进行操作。

2、语法

两种语法方式,一是新建RegExp对象,另一个直接创建

语法一:var patt=new RegExp(pattern,attributes);

语法二:var patt=/pattern/attributes;
示例:
var re = new RegExp("\\w+");
var re = /\w+/; 注意:当使用构造函数创造正则对象时,需要常规的字符转义规则(在前面加反斜杠 \)。以上是等价的。

参数 pattern 是一个字符串,指定了正则表达式的模式或其他正则表达式。

参数 attributes 是一个可选的字符串,包含属性 "g"、"i" 和 "m",分别用于指定全局匹配、区分大小写的匹配和多行匹配。ECMAScript 标准化之前,不支持 m 属性。如果 pattern 是正则表达式,而不是字符串,则必须省略该参数。

3、修饰符

“修饰符” 其含义类似于正则实例的附加属性。用于说明正则规则适用匹配的范围。

      i : 表示区分大小写字母匹配。
      m :表示多行匹配。
      g : 表示全局匹配。
        在非全局的情况下,正则会根据指定的“规则”从左至右对字符串进行匹配,一旦规则匹配完,便会停止匹配操作,返回结果。
        在全局的的情况下,正则会根据指定的“规则”从左至右对字符串进行匹配,一旦规则匹配完,便会在当前字符串匹配位置
        重新使用“规则”继续向下匹配,一直到字符串匹配完成。这也是下文中,我们会提到lastIndex属性存在的必要性。

i,g,m三个修饰符可以相互组合同时使用

4、RegExp对象方法

RegExp 对象有 3 个方法:test()、exec() 以及 compile()。

(1)、test( )

  test()方法检索字符串中的指定值。返回值是true或false。

 var patt1=new RegExp("e");
document.write(patt1.test("The best things in life are free"));

由于该字符串中存在字母 "e",以上代码的输出将是:true

(2)、exec( )

  exec()方法检索字符串中的指定值。返回值是被找到的值。如果没有发现匹配,则返回null

 var patt1=new RegExp("e");
document.write(patt1.exec("The best things in life are free"));

由于该字符串中存在字母 "e",以上代码的输出将是:e

(3)、compile()

  compile可以重新指定正则实例的规则与修饰符。

 var pattern = /e/i;
pattern.compile('a','g')

规则由大小写检查e变为全局搜索a

5、参考

【1】 JavaScript RegExp 正则表达式基础详谈

【2】简单教程

正则表达式之RegExp对象的更多相关文章

  1. JS学习笔记(四) 正则表达式(RegExp对象)

    参考资料: 1. http://www.w3school.com.cn/js/js_obj_regexp.asp ☂ 知识点: ☞ RegExp是正则表达式的缩写. ☞ RegExp是一种模式,用于在 ...

  2. js之正则表达式(RegExp对象)

    先看一个很有意思的例子: 用字面量的方式定义了一个正则表达式 /\w/g,再重复匹配字符串 ‘ab’ 的时候,出现了结果不唯一的现象. 很多新手都对这种现象感到困惑,难道是正则表达式不稳定吗? 接下来 ...

  3. JavaScript学习笔记-正则表达式(RegExp对象)

    正则表达式(RegExp对象)   1.正则表达式字面量,在脚本加载后编译.若你的正则表达式是常量,使用这种方式可以获得更好的性能,重复使用时不会重新编译: 2.使用构造函数创建的RegExp,提供了 ...

  4. VBScript: 正则表达式(RegExp对象)

    RegExp对象是VBScript中用于提供简单地正则表达式支持的对象.VBScript中所有和正则表达式有关的属性和方法都有这个对象有关联. 一.RegExp对象的属性和方法(三个属性,三个方法) ...

  5. javascript正则表达式 —— RegExp 对象

    定义 RegExp RegExp 对象用于存储检索模式. 通过 new 关键词来定义 RegExp 对象.以下代码定义了名为 patt1 的 RegExp 对象,其模式是 "e": ...

  6. asp的RegExp对象正则表达式功能用法

    RegExp对象提供简单的正则表达式支持功能. RegExp对象的用法: 以下为引用的内容: Function RegExpTest(patrn, strng) Dim regEx, Match, M ...

  7. JavaScript正则表达式(Regular Expression):RegExp对象

    第一部分:新建正则表达式 JavaScript中正则表达式是参照Perl 5(一门历史很悠久的语言,现在tiobe编程语言排行依然在10名左右)建立的. 新建正则表达式的方法有两种: 1.使用字面量( ...

  8. JavaScript -- 时光流逝(六):js中的正则表达式 -- RegExp 对象

    JavaScript -- 知识点回顾篇(六):js中的正则表达式 -- RegExp 对象 1. js正则表达式匹配字符之含义      查找以八进制数 规定的字符.     查找以十六进制数 规定 ...

  9. JS正则表达式从入门到入土(1)—— REGEXP对象

    REGEXP对象 JavaScript通过内置对象RegExp支持正则表达式,有两种方法实例化RegExp对象. 1.字面量 2.构造函数 字面量 字面量是直接通过/.../创建RegExp对象实例. ...

随机推荐

  1. 协议(Protocol)

    协议(Protocol)的基本概念 协议的声明看起来比较类似于Java中一个类的接口,但是和接口不同的是:协议没有父类也不能定义实例变量. 协议是一种特殊的程序设计结构,用于声明专门被别的类实现的方法 ...

  2. mysql字段修改脚本

    -- help_text:帮助说明 -- help_content -- raw USE pro_seal_chip_sell_portal_v1; -- 表修改ALTER TABLE `help_t ...

  3. Python - 文件和目录

    # -*- coding: utf-8 -*- import os print(os.name) # 获取操作系统类型 # print(os.uname()) # 获取操作系统的详细信息,Win不支持 ...

  4. spark docker java kubernetes 获取cpu内核/线程数问题

    升级服务从spark2.3.0-hadoop2.8 至 spark2.4.0 hadoop3.0 一日后导致spark streaming kafka消费数据积压 服务不是传统的部署在yarn上,而是 ...

  5. Chapter2. Vector Analysis (Field and Wave Electromagnetics. Second Edition) David K. Cheng

    2-1 Introduction imperative adj.紧急的 deficiency adj. 缺点,缺乏,缺陷 awkward adj .令人尴尬的

  6. Codeforces1304D Shortest and Longest LIS

    前置扯淡 %%@\(wucstido\),思路是在是巧妙---link Description 给一个长度为\(n\)由 \(<\) 和 \(>\)组成的字符串,表示序列中相邻位置的数的大 ...

  7. lower()|upper()|Traceback|title()|字符串合并|rstrip|lstrip|str()|

    print ("hello,world!") sentence = "yyyy" print (sentence.lower()) print (sentenc ...

  8. Opencv笔记(三)——视频的获取及保存

    一.利用摄像头获取视频 我们经常需要使用摄像头捕获实时图像.OpenCV 为这中应用提供了一个非常简单的接口.让我们使用摄像头来捕获一段视频,并把它转换成灰度视频显示出来.了获取视频,你应该创建一个 ...

  9. 二十一、NFS服务

    文件系统是基于存储设备的,比如硬盘,并且包含文件物理位置的维护.文件系统也可以说是虚拟数据或网络数据存储的方法,比如NFS.我是这样理解的:首先,什么是文件系统,这里我们已经明确了,就是组织的一种形式 ...

  10. D. Almost All Divisors

    We guessed some integer number xx. You are given a list of almost all its divisors. Almost all means ...