Regex.EnumerateSplits 方法

定义

重载

EnumerateSplits(ReadOnlySpan<Char>)

在输入范围中搜索正则表达式的所有匹配项,并返回一个 Regex.ValueSplitEnumerator 来循环访问匹配项周围的拆分。

EnumerateSplits(ReadOnlySpan<Char>, Int32)

在输入范围中搜索正则表达式的所有匹配项,并返回一个 Regex.ValueSplitEnumerator 来循环访问匹配项周围的拆分。

EnumerateSplits(ReadOnlySpan<Char>, String)

在输入范围中搜索正则表达式的所有匹配项,并返回一个 Regex.ValueSplitEnumerator 来循环访问匹配项周围的拆分。

EnumerateSplits(ReadOnlySpan<Char>, Int32, Int32)

在输入范围中搜索正则表达式的所有匹配项,并返回一个 Regex.ValueSplitEnumerator 来循环访问匹配项周围的拆分。

EnumerateSplits(ReadOnlySpan<Char>, String, RegexOptions)

在输入范围中搜索正则表达式的所有匹配项,并返回一个 Regex.ValueSplitEnumerator 来循环访问匹配项周围的拆分。

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

在输入范围中搜索正则表达式的所有匹配项,并返回一个 Regex.ValueSplitEnumerator 来循环访问匹配项周围的拆分。

EnumerateSplits(ReadOnlySpan<Char>)

在输入范围中搜索正则表达式的所有匹配项,并返回一个 Regex.ValueSplitEnumerator 来循环访问匹配项周围的拆分。

public:
 System::Text::RegularExpressions::Regex::ValueSplitEnumerator EnumerateSplits(ReadOnlySpan<char> input);
public System.Text.RegularExpressions.Regex.ValueSplitEnumerator EnumerateSplits (ReadOnlySpan<char> input);
member this.EnumerateSplits : ReadOnlySpan<char> -> System.Text.RegularExpressions.Regex.ValueSplitEnumerator
Public Function EnumerateSplits (input As ReadOnlySpan(Of Char)) As Regex.ValueSplitEnumerator

参数

input
ReadOnlySpan<Char>

要搜索匹配项的跨度。

返回

循环访问匹配项的 Regex.ValueSplitEnumerator

注解

EnumerateSplits(ReadOnlySpan<Char>) 的行为类似于 Split(String)的行为,一次生成一个拆分,作为循环访问生成的枚举器的一部分,而不是一次性作为单个数组的一部分。 但是,存在一些明显的差异。 Split(String) 将在生成的拆分中包含捕获组的内容,而 EnumerateSplits(ReadOnlySpan<Char>) 则不会。 如果指定了 RightToLeftSplit(String) 将反转生成的拆分顺序,使其从左到右,而 EnumerateSplits(ReadOnlySpan<Char>) 将按它们从右到左的顺序生成拆分。

在枚举器上调用 MoveNext() 之前,每个匹配实际上不会发生,每个 MoveNext() 调用都会执行一个匹配。 由于对匹配的计算延迟,对传入输入进行的任何更改在调用 MoveNext() 之间都可能会影响匹配结果;应避免此类更改,并且不受支持。

适用于

EnumerateSplits(ReadOnlySpan<Char>, Int32)

在输入范围中搜索正则表达式的所有匹配项,并返回一个 Regex.ValueSplitEnumerator 来循环访问匹配项周围的拆分。

public:
 System::Text::RegularExpressions::Regex::ValueSplitEnumerator EnumerateSplits(ReadOnlySpan<char> input, int count);
public System.Text.RegularExpressions.Regex.ValueSplitEnumerator EnumerateSplits (ReadOnlySpan<char> input, int count);
member this.EnumerateSplits : ReadOnlySpan<char> * int -> System.Text.RegularExpressions.Regex.ValueSplitEnumerator
Public Function EnumerateSplits (input As ReadOnlySpan(Of Char), count As Integer) As Regex.ValueSplitEnumerator

参数

input
ReadOnlySpan<Char>

要搜索匹配项的跨度。

count
Int32

拆分可以发生的最大次数。 如果为 0,则所有拆分都可用。

返回

循环访问匹配项的 Regex.ValueSplitEnumerator

注解

EnumerateSplits(ReadOnlySpan<Char>, Int32) 的行为类似于 Split(String, Int32)的行为,一次生成一个拆分,作为循环访问生成的枚举器的一部分,而不是一次性作为单个数组的一部分。 但是,存在一些明显的差异。 Split(String, Int32) 将在生成的拆分中包含捕获组的内容,而 EnumerateSplits(ReadOnlySpan<Char>, Int32) 则不会。 如果指定了 RightToLeftSplit(String, Int32) 将反转生成的拆分顺序,使其从左到右,而 EnumerateSplits(ReadOnlySpan<Char>, Int32) 将按它们从右到左的顺序生成拆分。

在枚举器上调用 MoveNext() 之前,每个匹配实际上不会发生,每个 MoveNext() 调用都会执行一个匹配。 由于对匹配的计算延迟,对传入输入进行的任何更改在调用 MoveNext() 之间都可能会影响匹配结果;应避免此类更改,并且不受支持。

适用于

EnumerateSplits(ReadOnlySpan<Char>, String)

在输入范围中搜索正则表达式的所有匹配项,并返回一个 Regex.ValueSplitEnumerator 来循环访问匹配项周围的拆分。

public:
 static System::Text::RegularExpressions::Regex::ValueSplitEnumerator EnumerateSplits(ReadOnlySpan<char> input, System::String ^ pattern);
public static System.Text.RegularExpressions.Regex.ValueSplitEnumerator EnumerateSplits (ReadOnlySpan<char> input, string pattern);
static member EnumerateSplits : ReadOnlySpan<char> * string -> System.Text.RegularExpressions.Regex.ValueSplitEnumerator
Public Shared Function EnumerateSplits (input As ReadOnlySpan(Of Char), pattern As String) As Regex.ValueSplitEnumerator

参数

input
ReadOnlySpan<Char>

要搜索匹配项的跨度。

pattern
String

要匹配的正则表达式模式。

返回

循环访问匹配项的拆分的 Regex.ValueSplitEnumerator

例外

pattern null

发生正则表达式分析错误。

注解

EnumerateSplits(ReadOnlySpan<Char>, String) 的行为类似于 Split(String, String)的行为,一次生成一个拆分,作为循环访问生成的枚举器的一部分,而不是一次性作为单个数组的一部分。 但是,存在一些明显的差异。 Split(String, String) 将在生成的拆分中包含捕获组的内容,而 EnumerateSplits(ReadOnlySpan<Char>, String) 则不会。 如果指定了 RightToLeftSplit(String, String) 将反转生成的拆分顺序,使其从左到右,而 EnumerateSplits(ReadOnlySpan<Char>, String) 将按它们从右到左的顺序生成拆分。

在枚举器上调用 MoveNext() 之前,每个匹配实际上不会发生,每个 MoveNext() 调用都会执行一个匹配。 由于对匹配的计算延迟,对传入输入进行的任何更改在调用 MoveNext() 之间都可能会影响匹配结果;应避免此类更改,并且不受支持。

适用于

EnumerateSplits(ReadOnlySpan<Char>, Int32, Int32)

在输入范围中搜索正则表达式的所有匹配项,并返回一个 Regex.ValueSplitEnumerator 来循环访问匹配项周围的拆分。

public:
 System::Text::RegularExpressions::Regex::ValueSplitEnumerator EnumerateSplits(ReadOnlySpan<char> input, int count, int startat);
public System.Text.RegularExpressions.Regex.ValueSplitEnumerator EnumerateSplits (ReadOnlySpan<char> input, int count, int startat);
member this.EnumerateSplits : ReadOnlySpan<char> * int * int -> System.Text.RegularExpressions.Regex.ValueSplitEnumerator
Public Function EnumerateSplits (input As ReadOnlySpan(Of Char), count As Integer, startat As Integer) As Regex.ValueSplitEnumerator

参数

input
ReadOnlySpan<Char>

要搜索匹配项的跨度。

count
Int32

拆分可以发生的最大次数。 如果为 0,则所有拆分都可用。

startat
Int32

从零开始搜索的字符位置。

返回

循环访问匹配项的 Regex.ValueSplitEnumerator

注解

EnumerateSplits(ReadOnlySpan<Char>, Int32, Int32) 的行为类似于 Split(String, Int32, Int32)的行为,一次生成一个拆分,作为循环访问生成的枚举器的一部分,而不是一次性作为单个数组的一部分。 但是,存在一些明显的差异。 Split(String, Int32, Int32) 将在生成的拆分中包含捕获组的内容,而 EnumerateSplits(ReadOnlySpan<Char>, Int32, Int32) 则不会。 如果指定了 RightToLeftSplit(String, Int32, Int32) 将反转生成的拆分顺序,使其从左到右,而 EnumerateSplits(ReadOnlySpan<Char>, Int32, Int32) 将按它们从右到左的顺序生成拆分。

在枚举器上调用 MoveNext() 之前,每个匹配实际上不会发生,每个 MoveNext() 调用都会执行一个匹配。 由于对匹配的计算延迟,对传入输入进行的任何更改在调用 MoveNext() 之间都可能会影响匹配结果;应避免此类更改,并且不受支持。

适用于

EnumerateSplits(ReadOnlySpan<Char>, String, RegexOptions)

在输入范围中搜索正则表达式的所有匹配项,并返回一个 Regex.ValueSplitEnumerator 来循环访问匹配项周围的拆分。

public:
 static System::Text::RegularExpressions::Regex::ValueSplitEnumerator EnumerateSplits(ReadOnlySpan<char> input, System::String ^ pattern, System::Text::RegularExpressions::RegexOptions options);
public static System.Text.RegularExpressions.Regex.ValueSplitEnumerator EnumerateSplits (ReadOnlySpan<char> input, string pattern, System.Text.RegularExpressions.RegexOptions options);
static member EnumerateSplits : ReadOnlySpan<char> * string * System.Text.RegularExpressions.RegexOptions -> System.Text.RegularExpressions.Regex.ValueSplitEnumerator
Public Shared Function EnumerateSplits (input As ReadOnlySpan(Of Char), pattern As String, options As RegexOptions) As Regex.ValueSplitEnumerator

参数

input
ReadOnlySpan<Char>

要搜索匹配项的跨度。

pattern
String

要匹配的正则表达式模式。

options
RegexOptions

枚举值的按位组合,指定用于匹配的选项。

返回

循环访问匹配项的拆分的 Regex.ValueSplitEnumerator

例外

pattern null

options 不是 RegexOptions 值的有效按位组合。

发生正则表达式分析错误。

注解

EnumerateSplits(ReadOnlySpan<Char>, String, RegexOptions) 的行为类似于 Split(String, String, RegexOptions)的行为,一次生成一个拆分,作为循环访问生成的枚举器的一部分,而不是一次性作为单个数组的一部分。 但是,存在一些明显的差异。 Split(String, String, RegexOptions) 将在生成的拆分中包含捕获组的内容,而 EnumerateSplits(ReadOnlySpan<Char>, String, RegexOptions) 则不会。 如果指定了 RightToLeftSplit(String, String, RegexOptions) 将反转生成的拆分顺序,使其从左到右,而 EnumerateSplits(ReadOnlySpan<Char>, String, RegexOptions) 将按它们从右到左的顺序生成拆分。

在枚举器上调用 MoveNext() 之前,每个匹配实际上不会发生,每个 MoveNext() 调用都会执行一个匹配。 由于对匹配的计算延迟,对传入输入进行的任何更改在调用 MoveNext() 之间都可能会影响匹配结果;应避免此类更改,并且不受支持。

适用于

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

在输入范围中搜索正则表达式的所有匹配项,并返回一个 Regex.ValueSplitEnumerator 来循环访问匹配项周围的拆分。

public:
 static System::Text::RegularExpressions::Regex::ValueSplitEnumerator EnumerateSplits(ReadOnlySpan<char> input, System::String ^ pattern, System::Text::RegularExpressions::RegexOptions options, TimeSpan matchTimeout);
public static System.Text.RegularExpressions.Regex.ValueSplitEnumerator EnumerateSplits (ReadOnlySpan<char> input, string pattern, System.Text.RegularExpressions.RegexOptions options, TimeSpan matchTimeout);
static member EnumerateSplits : ReadOnlySpan<char> * string * System.Text.RegularExpressions.RegexOptions * TimeSpan -> System.Text.RegularExpressions.Regex.ValueSplitEnumerator
Public Shared Function EnumerateSplits (input As ReadOnlySpan(Of Char), pattern As String, options As RegexOptions, matchTimeout As TimeSpan) As Regex.ValueSplitEnumerator

参数

input
ReadOnlySpan<Char>

要搜索匹配项的跨度。

pattern
String

要匹配的正则表达式模式。

options
RegexOptions

枚举值的按位组合,指定用于匹配的选项。

matchTimeout
TimeSpan

超时间隔,或 InfiniteMatchTimeout 指示方法不应超时。

返回

循环访问匹配项的拆分的 Regex.ValueSplitEnumerator

例外

pattern null

options 不是 RegexOptions 值的有效按位组合,或者 matchTimeout 为负、零或大于大约 24 天。

发生正则表达式分析错误。

注解

EnumerateSplits(ReadOnlySpan<Char>, String, RegexOptions, TimeSpan) 的行为类似于 Split(String, String, RegexOptions, TimeSpan)的行为,一次生成一个拆分,作为循环访问生成的枚举器的一部分,而不是一次性作为单个数组的一部分。 但是,存在一些明显的差异。 Split(String, String, RegexOptions, TimeSpan) 将在生成的拆分中包含捕获组的内容,而 EnumerateSplits(ReadOnlySpan<Char>, String, RegexOptions, TimeSpan) 则不会。 如果指定了 RightToLeftSplit(String, String, RegexOptions, TimeSpan) 将反转生成的拆分顺序,使其从左到右,而 EnumerateSplits(ReadOnlySpan<Char>, String, RegexOptions, TimeSpan) 将按它们从右到左的顺序生成拆分。

在枚举器上调用 MoveNext() 之前,每个匹配实际上不会发生,每个 MoveNext() 调用都会执行一个匹配。 由于对匹配的计算延迟,对传入输入进行的任何更改在调用 MoveNext() 之间都可能会影响匹配结果;应避免此类更改,并且不受支持。

适用于