JScript 8.0
正则表达式对象

此对象包含正则表达式模式以及标识如何应用该模式的标志。

// The explicit constructor for a Regular Expression object.
function RegExp(pattern : String [,flags : String])
function RegExp(regexObj : System.Text.RegularExpressions.Regex)

// The implicit constructor for a Regular Expression object.
/pattern/[flags]
参数
pattern

必选。要使用的正则表达式模式。如果使用语法 1,则模式必须为字符串。如果使用语法 2,模式将由“/”字符分隔。

flags

可选项。如果使用语法 1,则标志必须处于字符串中。如果使用语法 2,标志字符将紧接在最后一个“/”字符之后。可以组合使用的可用标志有:

  • g(全局搜索出现的所有 pattern)

  • i(忽略大小写)

  • m(多行搜索)

regexObj

必选。包含要使用的正则表达式模式的 Regex 对象。

备注

正则表达式对象不应与全局 RegExp 对象混淆。它们虽然看起来相似,但也可以很容易地加以区分。正则表达式对象的属性只包含有关一个特定正则表达式实例的信息,而全局 RegExp 对象的属性则包含有关所发生的每一匹配的不断更新的信息。

正则表达式对象存储用于搜索字符组合的字符串的模式。当创建正则表达式对象后,会将该对象传递到字符串方法,或者给字符串传递正则表达式对象的方法。有关最近执行的搜索的信息存储在全局 RegExp 对象中。

当搜索字符串频繁更改或未知时(例如从用户输入导出的字符串),应使用语法 1。当您提前知道搜索字符串时,应使用语法 2。

在 JScript 中,pattern 参数将在使用之前编译为内部格式。对于语法 1,pattern 正好在使用之前进行编译或者在调用 compile 方法时进行编译。对于语法 2,pattern 在脚本加载时编译。

Note注意

正则表达式对象可以与 JScript 中的 .NET Framework System.Text.RegularExpressions.Regex 数据类型互用。但是,其他公共语言规范 (CLS) 语言不能使用正则表达式对象,因为只有 JScript 提供此对象;它不是从 .NET Framework 类型派生的。因此,当对参数和符合 CLS 的方法的返回类型进行类型批注时,请确保使用 System.Text.RegularExpressions.Regex 数据类型,而不是“正则表达式”对象。然而,可以使用“正则表达式”对象对标识符(而不是参数或返回类型)进行类型批注。有关更多信息,请参见编写符合 CLS 的代码

示例

下面的示例阐释正则表达式对象的用法。它将创建对象 re1 和 re2,这两个对象包含带有关联标志的正则表达式模式。在这种情况下,match 方法将在随后使用所得到的正则表达式对象:

var s : String = "The rain in Spain falls mainly in the plain";
// Create regular expression object using Syntax 1.
var re1 : RegExp = new RegExp("Spain","i");
// Create regular expression object using Syntax 2.
var re2 : RegExp = /IN/i;

// Find a match within string s.
print(s.match(re1));
print(s.match(re2));

该脚本的输出为

Spain
in
要求

版本 3

属性和方法

Regular Expression 对象属性和方法

请参见

参考

new 运算符
RegExp 对象
String 对象
Regex

概念

正则表达式语法