分裂的正则表达式

Kai*_*Kai 1 .net c# regex split

我想拆分一个字符串,比如

"[1-5]?3456[2-5][4-D]"
Run Code Online (Sandbox Code Playgroud)

array[0] = "[1-5]"
array[1] = "?"
array[2] = "3"
array[3] = "4"
array[4] = "5"
array[5] = "6"
array[6] = "[2-5]"
array[7] = "[4-D]"
Run Code Online (Sandbox Code Playgroud)

任何人都可以告诉我,如果正则表达式分裂可能吗?

我有三个元素"3"一个字母(可以是1-9和AF,"?"一张白卡,"[1-5]"一个范围(相同的1-9 + AF)

编辑:匹配的示例是

"[1-5]?3456[2-5][4-D]"

"?4A9[1-F]?[A-D]1"

"12459987"

"[1-F][1-F][1-F][1-F][1-F][1-F][1-F][1-F]"
Run Code Online (Sandbox Code Playgroud)

scw*_*ner 8

使用Expresso进行测试:

(\[[^]]+\])|.
Run Code Online (Sandbox Code Playgroud)

要使用此表达式来获取拆分,可以使用以下代码:

var input = "[1-5]?3456[2-5][4-D]";
var pattern = new Regex(@"(\[[^]]+\])|(.)", 
                        RegexOptions.CultureInvariant | RegexOptions.Compiled);

IEnumerable<string> parts = from m in pattern.Matches(input).Cast<Match>()
                            select m.Captures[0].Value;
Run Code Online (Sandbox Code Playgroud)