Regex 類別

定義

表示不可變的正則表達式。 同時也包含靜態方法,允許使用正規表達式而無需明確實例化正則表達式。

public ref class Regex
public ref class Regex : System::Runtime::Serialization::ISerializable
public class Regex
public class Regex : System.Runtime.Serialization.ISerializable
[System.Serializable]
public class Regex : System.Runtime.Serialization.ISerializable
type Regex = class
type Regex = class
    interface ISerializable
[<System.Serializable>]
type Regex = class
    interface ISerializable
Public Class Regex
Public Class Regex
Implements ISerializable
繼承
Regex
衍生
屬性
實作

備註

Regex 類別代表.NET正則表達式引擎。 它可用於快速解析大量文字,找出特定的字元模式;用來擷取、編輯、替換或刪除文字子串;並將擷取的字串加入集合以產生報告。

建構函式

名稱 Description
Regex()

初始化 Regex 類別的新執行個體。

Regex(SerializationInfo, StreamingContext)
已淘汰.

透過序列化資料初始化該類別的新實例 Regex

Regex(String, RegexOptions, TimeSpan)

初始化該類別的新實例 Regex ,針對指定的正則表達式,並加入修改模式的選項,以及一個值,指定模式匹配方法應嘗試匹配多久後才會逾時。

Regex(String, RegexOptions)

初始化該類別的新實例 Regex ,並以修改模式的選項。

Regex(String)

初始化該類別的新實例 Regex ,以初始化指定的正規表達式。

欄位

名稱 Description
capnames

當使用命名擷取時,映射會將名稱擷取到對應的索引。 否則為 null

caps

當擷取為稀疏時,擷取數會映射到擷取陣列中對應的索引。 否則為 null

capsize

以正則表達式模式定義的捕捉群數量。

capslist

當捕獲稀疏或使用命名捕獲時,包含排序的捕獲名稱列表。 否則為 null

factory

一個用來建立 RegexRunner 執行正則表達式實例的工廠。

InfiniteMatchTimeout

指定模式比對作業不應逾時。

internalMatchTimeout

作業逾時之前,模式比對作業中可以經過的時間上限。

pattern

傳遞給建構子的正則表達式模式。

roptions

傳遞給建構子的正則表達式選項。

屬性

名稱 Description
CacheSize

取得或設定目前靜態快取中正則表達式實例的最大條目數。

CapNames

取得或設定將具名擷取群組對應至其索引值的字典。

Caps

取得或設定將編號擷取群組對應至其索引值的字典。

MatchTimeout

取得目前實例的超時時間間隔。

Options

取得傳入 Regex 建造者的選項。

RightToLeft

取得值,這個值表示正則表達式是否從右至左搜尋。

方法

名稱 Description
CompileToAssembly(RegexCompilationInfo[], AssemblyName, CustomAttributeBuilder[], String)
已淘汰.

將一個或多個指定的 Regex 物件及指定的資源檔案編譯成具指定屬性的命名組合語言。

CompileToAssembly(RegexCompilationInfo[], AssemblyName, CustomAttributeBuilder[])
已淘汰.

將一個或多個指定的 Regex 物件編譯為具有指定屬性的命名組裝。

CompileToAssembly(RegexCompilationInfo[], AssemblyName)
已淘汰.

將一個或多個指定的 Regex 物件編譯為命名的組裝。

Count(ReadOnlySpan<Char>, Int32)

搜尋輸入範圍中所有出現的正則表達式,並傳回相符項目的數目。

Count(ReadOnlySpan<Char>, String, RegexOptions, TimeSpan)

搜尋輸入範圍中所有出現的正則表達式,並傳回相符項目的數目。

Count(ReadOnlySpan<Char>, String, RegexOptions)

搜尋輸入範圍中所有出現的正則表達式,並傳回相符項目的數目。

Count(ReadOnlySpan<Char>, String)

搜尋輸入範圍中所有出現的正則表達式,並傳回相符項目的數目。

Count(ReadOnlySpan<Char>)

搜尋輸入範圍中所有出現的正則表達式,並傳回相符項目的數目。

Count(String, String, RegexOptions, TimeSpan)

搜尋輸入字串中所有出現的正則表示式,並傳回相符項目的數目。

Count(String, String, RegexOptions)

搜尋輸入字串中所有出現的正則表示式,並傳回相符項目的數目。

Count(String, String)

搜尋輸入字串中所有出現的正則表示式,並傳回相符項目的數目。

Count(String)

搜尋輸入字串中所有出現的正則表示式,並傳回相符項目的數目。

EnumerateMatches(ReadOnlySpan<Char>, Int32)

搜尋輸入區間中所有正則表達式的出現,並回傳 a Regex.ValueMatchEnumerator 以遍歷匹配。

EnumerateMatches(ReadOnlySpan<Char>, String, RegexOptions, TimeSpan)

搜尋輸入區間中所有正則表達式的出現,並回傳 a Regex.ValueMatchEnumerator 以遍歷匹配。

EnumerateMatches(ReadOnlySpan<Char>, String, RegexOptions)

搜尋輸入區間中所有正則表達式的出現,並回傳 a Regex.ValueMatchEnumerator 以遍歷匹配。

EnumerateMatches(ReadOnlySpan<Char>, String)

搜尋輸入區間中所有正則表達式的出現,並回傳 a Regex.ValueMatchEnumerator 以遍歷匹配。

EnumerateMatches(ReadOnlySpan<Char>)

搜尋輸入區間中所有正則表達式的出現,並回傳 a Regex.ValueMatchEnumerator 以遍歷匹配。

EnumerateSplits(ReadOnlySpan<Char>, Int32, Int32)

搜尋輸入區間中所有正則表達式的出現,並回傳 a Regex.ValueSplitEnumerator 以遍歷匹配周圍的分割。

EnumerateSplits(ReadOnlySpan<Char>, Int32)

搜尋輸入區間中所有正則表達式的出現,並回傳 a Regex.ValueSplitEnumerator 以遍歷匹配周圍的分割。

EnumerateSplits(ReadOnlySpan<Char>, String, RegexOptions, TimeSpan)

搜尋輸入區間中所有正則表達式的出現,並回傳 a Regex.ValueSplitEnumerator 以遍歷匹配周圍的分割。

EnumerateSplits(ReadOnlySpan<Char>, String, RegexOptions)

搜尋輸入區間中所有正則表達式的出現,並回傳 a Regex.ValueSplitEnumerator 以遍歷匹配周圍的分割。

EnumerateSplits(ReadOnlySpan<Char>, String)

搜尋輸入區間中所有正則表達式的出現,並回傳 a Regex.ValueSplitEnumerator 以遍歷匹配周圍的分割。

EnumerateSplits(ReadOnlySpan<Char>)

搜尋輸入區間中所有正則表達式的出現,並回傳 a Regex.ValueSplitEnumerator 以遍歷匹配周圍的分割。

Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
Escape(String)

透過將最小字元集合(如 、*、+、?、|、{、[, (, ), ^、$、.、#、以及空白位)來轉義,方法是將它們替換成轉義碼。 這會指示正則表達式引擎以字面方式解譯這些字元,而不是中繼字元。

Finalize()

此成員會 Finalize()覆蓋 ,相關主題中可能有更完整的文件可供參考。

允許 嘗試 Object 釋放資源並執行其他清理作業,直到被 Object 垃圾回收回收。

GetGroupNames()

傳回擷取正則表達式組名的陣列。

GetGroupNumbers()

傳回擷取群組編號的陣列,其對應至陣列中的組名。

GetHashCode()

做為預設哈希函式。

(繼承來源 Object)
GetType()

取得目前實例的 Type

(繼承來源 Object)
GroupNameFromNumber(Int32)

取得對應至指定組號的組名。

GroupNumberFromName(String)

傳回對應至指定組名的組號。

InitializeReferences()
已淘汰.

Regex 方法 CompileToAssembly(RegexCompilationInfo[], AssemblyName) 產生的物件所使用。 這個方法已過時。

IsMatch(ReadOnlySpan<Char>, Int32)

表示建構子中指定的 Regex 正則表達式是否在指定輸入區間內找到匹配,且從指定位置開始。

IsMatch(ReadOnlySpan<Char>, String, RegexOptions, TimeSpan)

指出指定的正則表示式是否使用指定的比對選項和超時時間間隔,在指定的輸入範圍中尋找相符專案。

IsMatch(ReadOnlySpan<Char>, String, RegexOptions)

指出指定的正則表示式是否使用指定的比對選項,在指定的輸入範圍中尋找相符專案。

IsMatch(ReadOnlySpan<Char>, String)

指出指定的正則表示式是否在指定的輸入範圍中尋找相符專案。

IsMatch(ReadOnlySpan<Char>)

表示建構子中指定的 Regex 正則表達式是否在指定的輸入範圍中找到匹配。

IsMatch(String, Int32)

表示建構子中指定的 Regex 正則表達式是否在指定的輸入字串中找到匹配,且從該字串的指定起始位置開始。

IsMatch(String, String, RegexOptions, TimeSpan)

指出指定的正則表示式是否使用指定的比對選項和超時時間間隔,在指定的輸入字串中尋找相符專案。

IsMatch(String, String, RegexOptions)

指出指定的正則表示式是否使用指定的比對選項,在指定的輸入字元串中尋找相符專案。

IsMatch(String, String)

指出指定的正則表示式是否在指定的輸入字串中尋找相符專案。

IsMatch(String)

表示建構子中指定的 Regex 正則表達式是否在指定輸入字串中找到匹配。

Match(String, Int32, Int32)

搜尋輸入字串中第一次出現的正則表示式,從指定的起始位置開始,並只搜尋指定的字元數。

Match(String, Int32)

搜尋輸入字串中第一次出現的正則表示式,從字串中指定的起始位置開始。

Match(String, String, RegexOptions, TimeSpan)

使用指定的比對選項和超時時間間隔,搜尋輸入字串中第一個出現的指定正則表達式。

Match(String, String, RegexOptions)

使用指定的比對選項,搜尋輸入字串中第一個出現的指定正則表達式。

Match(String, String)

搜尋指定的輸入字串中第一個出現的指定正則表達式。

Match(String)

搜尋指定的輸入字串,尋找建構子中指定的 Regex 正則表達式的首次出現。

Matches(String, Int32)

搜尋指定的輸入字串中所有出現的正則表示式,從字串中指定的起始位置開始。

Matches(String, String, RegexOptions, TimeSpan)

使用指定的比對選項和超時時間間隔,搜尋指定之正則表示式的所有出現次數。

Matches(String, String, RegexOptions)

使用指定的比對選項,搜尋指定之正則表示式的所有出現次數的指定輸入字串。

Matches(String, String)

搜尋指定的輸入字串,以尋找指定正規表示式的所有專案。

Matches(String)

搜尋指定的輸入字串中是否有正則表示式的所有出現次數。

MemberwiseClone()

建立目前 Object的淺層複本。

(繼承來源 Object)
Replace(String, MatchEvaluator, Int32, Int32)

在指定的輸入子字串中,會將符合正則表達式模式的最大字串數量替換為代理回傳 MatchEvaluator 的字串。

Replace(String, MatchEvaluator, Int32)

在指定的輸入字串中,會將與正則表達式模式匹配的字串數量,替換為代理回傳 MatchEvaluator 的字串。

Replace(String, MatchEvaluator)

在指定的輸入字串中,會將所有符合指定正則表達式的字串替換為代理回傳 MatchEvaluator 的字串。

Replace(String, String, Int32, Int32)

在指定的輸入子字串中,以指定的取代字串取代符合正則表示式模式的指定最大字串數目。

Replace(String, String, Int32)

在指定的輸入字串中,以指定的取代字串取代符合正則表示式模式的指定最大字串數目。

Replace(String, String, MatchEvaluator, RegexOptions, TimeSpan)

在指定的輸入字串中,會將所有符合指定正則表達式的子字串替換為代理回傳 MatchEvaluator 的字串。 其他參數會指定修改比對作業的選項,如果找不到相符專案,則會指定超時時間間隔。

Replace(String, String, MatchEvaluator, RegexOptions)

在指定的輸入字串中,會將所有符合指定正則表達式的字串替換為代理回傳 MatchEvaluator 的字串。 指定的選項會修改比對作業。

Replace(String, String, MatchEvaluator)

在指定的輸入字串中,會將所有符合指定正則表達式的字串替換為代理回傳 MatchEvaluator 的字串。

Replace(String, String, String, RegexOptions, TimeSpan)

在指定的輸入字串中,以指定的取代字串取代符合指定正規表示式的所有字串。 其他參數會指定修改比對作業的選項,如果找不到相符專案,則會指定超時時間間隔。

Replace(String, String, String, RegexOptions)

在指定的輸入字串中,以指定的取代字串取代符合指定正規表示式的所有字串。 指定的選項會修改比對作業。

Replace(String, String, String)

在指定的輸入字串中,會將所有符合特定正則表達式模式的字串替換為指定的替換字串。

Replace(String, String)

在指定的輸入字串中,以指定的取代字串取代符合正則表示式模式的所有字串。

Split(String, Int32, Int32)

將輸入字串以指定次數分拆成子串陣列,位置由建構子指定 Regex 的正則表達式定義。 正則表達式模式的搜尋會從輸入字串中的指定字元位置開始。

Split(String, Int32)

將輸入字串以指定次數分拆成子串陣列,位置由建構子指定 Regex 的正則表達式定義。

Split(String, String, RegexOptions, TimeSpan)

將輸入字串分割成指定正則表示式模式所定義位置的子字串陣列。 其他參數會指定修改比對作業的選項,如果找不到相符專案,則會指定超時時間間隔。

Split(String, String, RegexOptions)

將輸入字串分割成指定正則表示式模式所定義位置的子字串陣列。 指定的選項會修改比對作業。

Split(String, String)

將輸入字串分割成正則表示式模式所定義位置的子字串陣列。

Split(String)

將輸入字串拆分為由建構子指定 Regex 正則表達式模式定義的位置的子串陣列。

ToString()

回傳傳入 Regex 建構子的正則表達式模式。

Unescape(String)

轉換輸入字串中的任何逸出字元。

UseOptionC()
已淘汰.

如果選項是設定的, Compiled 那是真的。

UseOptionR()
已淘汰.

如果選項是設定的, RightToLeft 那是真的。

ValidateMatchTimeout(TimeSpan)

驗證指定的匹配超時值是否有效。 有效範圍為 TimeSpan.Zero < matchTimeout <= Regex.MaximumMatchTimeout

明確介面實作

名稱 Description
ISerializable.GetObjectData(SerializationInfo, StreamingContext)

SerializationInfo 物件填充以反序列化當前 Regex 物件所需的資料。

適用於

執行緒安全性

這個 Regex 類別是不可變的(唯讀)且執行緒安全。 Regex 物件可以在任何執行緒上建立,並在執行緒間共享。 更多資訊請參見 討論串安全

另請參閱