規則運算式語言

規則運算式語言經過設計並最佳化以操作文字。語言包含兩個基本的字元型別:常值 (一般) 文字字元和中繼字元。中繼字元 (Metacharacter) 集合為規則運算式提供處理的能力。

您或許熟悉使用 DOS 檔案系統的 ? 和 * 中繼字元,代表任何單一字元或字元群組。DOS 檔案命令 COPY *.DOC A: 會命令檔案系統將任何帶有 .DOC 副檔名的檔案全部複製到磁碟機 A 中的磁片。中繼字元 * 代表副檔名 .DOC 前面的任何檔案名稱。規則運算式多次重複擴充這個基本觀念,提供龐大的中繼字元集,因而能夠用相當少的字元來描述非常複雜的文字比對運算式。

例如,當規則運算式 \s2000 套用至文字主體時,會比對前面有任何空白字元 (例如空格或定位字元) 的 "2000" 字串的所有項目。

Note注意事項

如果您正在使用 C++、C# 或 JScript 程式語言,必須在特殊的逸出字元 (例如 \s) 前面加上額外的反斜線 (例如 \\s2000"),表示逸出字元 (Escape Character) 中的反斜線為常值字元。否則,規則運算式引擎會將 \s 中的反斜線和 s 視為兩個不同的運算子。如果您使用的是 Visual Basic 2005,則不必加上反斜線。如果您使用的是 C#,可以使用前面加上了 @ 而且停用逸出功能的 C# 常值字串 (例如,@"\s2000")。

規則運算式也可以執行更為複雜的搜尋。例如,規則運算式 (?<char>\w)\k<char> 使用命名群組和反向參考來搜尋鄰近的配對字元。套用至字串 "I'll have a small coffee" 時,它在字組 "I'll"、"small" 和 "coffee"中找到相符比對 (如需這個規則運算式的詳細資訊,請參閱反向參考)。

下列章節詳細說明定義 .NET Framework 規則運算式語言的中繼字元集,並示範如何使用規則運算式類別,在您的應用程式中實作規則運算式。

請參閱

參考

System.Text.RegularExpressions

概念

規則運算式類別

其他資源

規則運算式行為的詳細資訊
規則運算式範例
規則運算式語言項目