正则表达式对象

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

// 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]

实参

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

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

    • g(全局搜索出现的所有模式

    • i(忽略大小写)

    • m(多行搜索)

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

备注

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

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

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

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

提示

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

示例

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

var s : String = "The quick brown fox jumps over the lazy dog";
// Create regular expression object by using Syntax 1.
var re1 : RegExp = new RegExp("quick","i");
// Create regular expression object by using Syntax 2.
var re2 : RegExp = /THE/i;

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

该脚本的输出为

quick
The

要求

版本 3

属性和方法

Regular Expression 对象属性和方法

请参见

参考

new 运算符

RegExp 对象

String 对象

Regex

概念

正则表达式语法

正则表达式编程