規則運算式物件

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

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

屬性和方法

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

請參閱

參考

new 運算子

RegExp 物件

String 物件

Regex

概念

規則運算式語法

規則運算式程式設計