正则表达式之RegExp对象

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。

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

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

(2)、exec( )

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

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

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

(3)、compile()

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

1 var pattern = /e/i;
2 pattern.compile(‘a‘,‘g‘)

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

5、参考

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

【2】简单教程

时间: 2024-08-14 23:58:09

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

JS学习笔记(三) 正则表达式(RegExp对象)

参考资料: 1. http://www.w3school.com.cn/js/js_obj_regexp.asp ? 知识点: ? RegExp是正则表达式的缩写. ? RegExp是一种模式,用于在检索文本时描述要检索的内容. ? RegExp对象用于存储检索的模式.

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

先看一个很有意思的例子: 用字面量的方式定义了一个正则表达式 /\w/g,再重复匹配字符串 'ab' 的时候,出现了结果不唯一的现象. 很多新手都对这种现象感到困惑,难道是正则表达式不稳定吗? 接下来我们深入学习一下,Javascript中的RegExp对象. RegExp对象的属性 1. global:是否全文搜索,默认 false: 2. ignore case : 是否大小写敏感,默认是 false: 3. muitiline: 多行搜索,默认值是 false: 4. lastIndex:

JavaScript之基础-10 JavaScript 正则表达式(概述、定义正则、RegExp对象、用于模式匹配的String方法)

一.JavaScript 正则表达式概述 正则表达式概述 - 正则表达式(Regular Expression): 由一些普通字符和特殊字符组成的,用以描述一种特定的字符规则的表达式 - 正则表达式常用于在一段文本中搜索.匹配或替换特定形式的文本.如:词语出现频率统计.验证字符串是否符合邮件格式.屏蔽一篇帖子中的限制性词语等 正则表达式初体验 - 验证用户输入的手机格式是否合法 二.JavaScript 定义正则表达式 普通字符 - 所有的单个大小写字母.数字都是一个正则表达式,用以匹配单个字符

JS常用正则表达&RegExp对象

本来想细致整理一下正则表达式和RegExp对象的,但是发现网上完善的教程一抓一大把,于是这篇文章只会记录一些常常用到的正则表达式以及稍做分析. *转义:/b/匹配字符b,/\b/匹配单词边界,/a*/匹配a.aa.aaa...,/a\*/只匹配a*. *双重转义: 这两个模式起的作用是一样的,但从普通正则表达式到RegExp对象,需要去掉//,并且对\进行转义成为\\,\\则需要变成\\\\ 1.非负整数:/^\d+$/,定死开头与结尾,\d匹配任意一个数字,+意为前面的元字符/[]/()出现至

RegExp对象(正则表达式)

所谓正则表达式,就是用某种模式去匹配一类字符的一个公式.反应到JS里就是一个RegExp对象. 也可以这么说,RegExp对象表示正则表达式,它是对字符串执行模式匹配的工具. 创建RegExp对象有两种方法: 直接量语法:/pattern/attributes 通过RegExp类的构造创建的语法:new RegExp(pattern, attributes) 参数pattern是必选参数,用于指定需要进行匹配的模式字符串 参数attributes是可选参数,包含属性"g" "

轻松学习JavaScript十四:JavaScript的RegExp对象(正则表达式)

一RegExp对象概述 RegExp对象表示正则表达式,RegExp是正则表达式的缩写,它是对字符串执行模式匹配的强大工具.RegExp 对象用于规定在文本中检索的内容.当您检索某个文本时,可以使用一种模式来描述要检索的内容.RegExp就是这 种模式.简单的模式可以是一个单独的字符:更复杂的模式包括了更多的字符,并可用于解析.格式检查.替换等. 正则表达式可以规定字符串中的检索位置,以及要检索的字符类型等. 二创建RexExp对象 创建正则表达式和创建字符串类似,创建正则表达式有两种方式: (

JavaScript正则表达式-RegExp对象

RegExp对象方法 exec():与String对象的match()方法功能相同. 参数为被搜索字符串.返回数组或null. test():与String对象的search()方法功能相同. 参数为被搜索字符串.返回true或false. RegExp对象实例属性 global:布尔值,表示正则表达式中后缀选项g是否被设置. ignoreCase:布尔值,表示正则表达式中后缀选项i是否被设置. lastIndex:一个整数值,表示下一次匹配开始的位置索引. multiline:布尔值,表示正则

正则表达式学习-JavaScript RegExp 对象

W3School 中有关于正则表达式的全面介绍:http://www.w3school.com.cn/jsref/jsref_obj_regexp.asp 1.什么是正则表达式?正则表达式有什么用? 知道正则表达式有什么用,是学习它的最好动力. 正则表达式跟平时用的字符串操作功能函数类似.功能比它强大很多. 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个"规则字符串",这个"规则字符串"用来表达对字符串的一种过

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

JavaScript -- 知识点回顾篇(六):js中的正则表达式 -- RegExp 对象 1. js正则表达式匹配字符之含义 .     查找单个字符,除了换行和行结束符.\w    查找单词字符.\W     查找非单词字符.\d     查找数字.\D     查找非数字字符.\s     查找空白字符.\S     查找非空白字符.\b     匹配单词边界.\B     匹配非单词边界.\0     查找 NULL 字符.\n     查找换行符.\f     查找换页符.\r