1

在 C# 中,我试图拆分以下字符串

(hello)(world)(hello)(world)

成以下格式的数组

arr[0] = (
arr[1] = hello
arr[2] = )
arr[3] = (
arr[4] = world
arr[5] = )
arr[6] = (
arr[7] = hello
arr[8] = )
arr[9] = (
arr[10] = world
arr[11] = )

我目前正在使用以下正则表达式来执行拆分,它似乎很慢

Regex.Split(value1, @"(?<=\))|(?=\))|(?=\()|(?<=\()")

我不是正则表达式的专家,但我有一种直觉,可能会有另一种正则表达式以有效的方式提供相同的功能。

想知道是否有更好的方法(更有效的正则表达式)在 c# 中实现相同的拆分?

4

1 回答 1

1

您可以尝试匹配这些标记:

Regex.Matches(value1, @"[()]|[^()]+")

此处的模式[()]|[^()]+匹配单个(or或除and)之外的一系列字符。()

于 2013-05-22T04:32:40.220 回答