一 RegExp对象介绍
每一条正则表达式模式对应一个RegExp实例,有两种方式可以创建RegExp对象的实例。下面分别对这两种方式进行介绍。
1 使用RegExp的显式构造函数。
语法:
new RegExp("pattern"[,"flags"]) //即 new RegExp(" 模式 "[," 标记 "])
2 使用RegExp的隐式构造函数,采用纯文本格式。
语法:
/pattern/[flags]
pattern部分为要使用的正则表达式模式文本,是必须的。
在第一种方式中,pattern部分以JavaScript字符串的形式存在,需要使用双引号或单引号括起来;
在第二种方式中,pattern部分嵌套在两个“/”之间,不能使用引号。
flags部分设置正则表达式的标志信息,是可选项。
如果设置flags部分,在第一种方式中,以字符串的形式存在;在第二种方式中,以文本的形式紧接在最后一个“/”字符之后。
flags可以是以下标志字符的组合。
- g是全局标志。
如果设置了这个标志,对某个文本执行搜索和替换操作时,将对文本中所有匹配的部分起作用。
如果不设置这个标志,则仅搜索和替换最早匹配的内容。
- i是忽略大小写标志。
如果设置了这个标志,进行匹配比较时,将忽略大小写。
- m是多行标志。
如果不设置这个标志,那么元字符“^”只与整个被搜索字符串的开始位置相匹配,而元字符“$”只与被搜索字符串的结束位置相匹配。
如果设置了这个标志,“^”还可以与被搜索字符串中的“\n”或“\r”之后的位置(即下一行的行首)相匹配,而“$”还可以与被搜索字符串中的“\n”或“\r”之后的位置(即下一行的行尾)相匹配。
注意:文本格式中的参数不要使用引号标记,而构造器函数的参数则要使用引号标记。所以下面的表达式建立同样的正则表达式:
/ab+c/i
new RegExp("ab+c","i")
当使用构造函数的时候,必须使用正常的字符串避开规则(在字符串中加入前导字符\)是必须的。例如,下面的两条语句是等价的:
re = new RegExp("\\w +")
re = /\w+/
二 代码
<html> <head> <title>创建正则表达式 </title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <script language = "JavaScript"> var myString="如何创建正则表达式"; var myregex = new RegExp("创建"); // 创建正则表达式 if (myregex.test(myString)) { document.write("已创建正则表达式,并找到了指定的模式!"); } else { document.write("已创建正则表达式,但未找到匹配的模式。"); } document.write("<BR>") <script language="javascript"> var re1 = new RegExp("\\d{2}"); var re2 = /\d{2}/; alert("re1="+re1+"\nre2="+re2); </script> </script> </head> <body></body> </html>
三 运行结果
已创建正则表达式,并找到了指定的模式!
re1=/\d{2}/ re2=/\d{2}/
四 运行说明
由于JavaScript字符串中的“\”是一个转义字符,因此,使用显式构造函数创建RegExp实例对象时,应将原始正则表达式中的“\”用“\\”替换。
由于正则表达式模式文本中的转义字符也是“\”,如果正则表达式中要匹配原义字符“\”,在正则表达式模式文本中要以“\\”来表示,当使用显式构造函数的方式创建RegExp实例对象的时候,就需要使用“\\\\”来表示原义字符“\”。例如:
var re = new RegExp("\\\\")
相关推荐
' 创建RegExp对象,设置属性 Dim regEx, match Set regEx = New RegExp regEx.Pattern = pattern regEx.IgnoreCase = True regEx.Global = True ' 执行匹配 Dim matches Set matches = regEx.Execute...
直接量语法是创建RegExp对象的常见方式,如`/pattern/attributes`。例如,`/a/`定义了一个查找字符"a"的正则表达式。此外,也可以通过构造函数创建,如`new RegExp(pattern, attributes)`。这两个例子中,`pattern`...
JavaScript支持两种方式来创建RegExp对象实例: 1. **使用显式构造函数**: - 语法:`new RegExp("pattern"[, "flags"])` - `pattern`是必需的,表示正则表达式模式文本。 - `flags`是可选的标志字符组合,用于...
创建RegExp对象有两种方式,一种是使用字面量创建,另一种是使用构造函数创建。 1. 使用字面量创建语法: ``` /pattern/attributes; ``` 这里的pattern是一个字符串,指定正则表达式的模式或其他正则表达式。...
有两种方式可以创建RegExp对象的实例。 使用RegExp的显式构造函数,语法为:new RegExp(“pattern”[,”flags”])。 使用RegExp的隐式构造函数,采用纯文本格式:/pattern/[flags]。 pattern部分为要使用的正则...
- 使用`/pattern/`形式在字符串中直接定义正则表达式,或者使用`new RegExp('pattern')`创建RegExp对象。 2. **模式匹配**: - `match()`方法在字符串中查找匹配正则表达式的部分。 - `search()`方法查找首个...
在JavaScript中,有两种方法可以创建RegExp对象:一种是使用正则表达式字面量,另一种是使用RegExp构造函数。字面量方式使用斜杠(/)包围正则表达式,而构造函数方式则使用new RegExp("pattern", "flags")的形式。...
在JavaScript代码中,可以使用正则表达式字面量来创建RegExp对象。字面量的格式是由斜杠(/)分隔的正则表达式模式,例如: ```javascript var pattern = /.at/; ``` 这里的`.at`是一个简单的正则表达式,它匹配...
2. **创建 RegExp 对象**:通过 `Set MyReg = New RegExp` 创建了一个 `RegExp` 对象实例。 3. **设置属性**: - `MyReg.IgnoreCase = True` 表示忽略大小写进行匹配。 - `MyReg.Global = True` 表示执行全局匹配...
创建RegExp对象有两种方式: 1. 字面量表示法:使用两个斜线`/`包裹模式,如`/xyz/`。 2. 构造函数:通过`new RegExp('xyz')`创建,其中第二个参数可以设置修饰符。 正则表达式的修饰符有: - `i`:忽略大小写。 - ...
创建RegExp对象主要有两种方式: 1. 显式构造函数:`new RegExp("pattern"[,"flags"])`。在这里,`pattern`是一个字符串,包含你要匹配的正则表达式模式,`flags`是可选的标志字符,如`g`, `i`, 和 `m`。 2. 隐式...
在js中,正则表达式是由一个RegExp对象表示的,RegExp 是正则表达式的缩写。RegExp简单的模式可以是一个单独的字符。更复杂的模式包括了更多的...可以使用一个RegExp()构造函数来创建RegExp对象,也可以使用直接量语法
7.3.1 创建RegExp对象实例的两种方式 7.3.2 RegExp对象的属性 7.3.3 RegExp对象的方法 7.4 String对象中与正则表达式有关的方法 第8章 高级DoM技术 8.1 CSS样式 8.1.1 CSS语法 8.1.2 CSS属性 8.2 样式...
可以使用一个RegExp()构造函数来创建RegExp对象,也可以用JavaScript正则表达式直接量也被定义为包含在一对斜杠 (/) 之间的字符。 正则表达式的模式规范是由一系列字符构成的。大多数字符(包括所有字母数字字符)...
- 创建RegExp对象的实例; - 设置Pattern属性,定义正则表达式的规则; - 根据需要设置Global和IgnoreCase属性; - 使用Execute方法或Replace方法对目标字符串进行操作。 例如,可以编写一个ASP函数来测试正则...
7.3.1 创建RegExp对象实例的 两种方式 168 7.3.2 RegExp对象的属性 170 7.3.3 RegExp对象的方法 173 7.4 String对象中与正则表达式 有关的方法 177 第8章 高级DOM技术 182 8.1 CSS样式 182 8.1.1 CSS语法 182 8.1.2 ...
- **5.2.1 创建RegExp对象的两种方法** 一种是通过字面量的方式创建,另一种是通过`new RegExp(pattern, flags)`构造函数创建。 **5.3 RegExp对象的属性** - **5.3.1 静态属性** 包括`RegExp.lastMatch`等。 -...