Regex.EnumerateSplits 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重载
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>) 则不会。 如果指定了 RightToLeft,Split(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) 则不会。 如果指定了 RightToLeft,Split(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) 则不会。 如果指定了 RightToLeft,Split(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) 则不会。 如果指定了 RightToLeft,Split(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) 则不会。 如果指定了 RightToLeft,Split(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) 则不会。 如果指定了 RightToLeft,Split(String, String, RegexOptions, TimeSpan) 将反转生成的拆分顺序,使其从左到右,而 EnumerateSplits(ReadOnlySpan<Char>, String, RegexOptions, TimeSpan) 将按它们从右到左的顺序生成拆分。
在枚举器上调用 MoveNext() 之前,每个匹配实际上不会发生,每个 MoveNext() 调用都会执行一个匹配。 由于对匹配的计算延迟,对传入输入进行的任何更改在调用 MoveNext() 之间都可能会影响匹配结果;应避免此类更改,并且不受支持。