Share via


規則運算式物件

更新:2007 年 11 月

是包含規則運算式模式以及辨認如何套用模式之旗標的物件。

 // 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 物件。雖然它們看起來很類似,但是很容易分辨。規則運算式物件的屬性 (Property) 只包含某個規則運算式執行個體的相關資訊,而全域 RegExp 物件的屬性則包含每次比對發生時持續更新之相關資訊。

規則運算式物件儲存用來搜尋字元組合之字串的模式。規則運算式物件建立之後,會傳遞至字串方法,或字串會傳遞至規則運算式物件的方法。最近執行過之搜尋的相關資訊會儲存在全域 RegExp 物件中。

當搜尋字串經常變更或為未知字串 (例如衍生自使用者輸入的字串) 時,請使用語法 1。當您事先知道搜尋字串時,請使用語法 2。

在 JScript 中,pattern 引數在使用前會先編譯成內部格式。對於語法 1,pattern 是在使用之前或呼叫 compile 方法時編譯。對於語法 2,pattern 是在指令碼載入時編譯。

注意事項:

規則運算式物件在 JScript 內,可以與 .NET Framework System.Text.RegularExpressions.Regex 資料型別相互操作。但是其他 Common Language Specification (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 版

屬性和方法

規則運算式物件屬性和方法

請參閱

概念

規則運算式語法

參考

new 運算子

RegExp 物件

String 物件

Regex