我想拆分一个字符串,例如
"[1-5]?3456[2-5][4-D]"至
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]"有谁能告诉我用分裂的正则表达式是否有这个可能?
我有三个元素"3“一个字母(可以是1-9和and,"?”白色建筑,"1-5“a范围( 1-9 + A-F)
编辑:匹配的示例如下
"[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]"发布于 2009-12-08 19:10:34
用特普索测试
(\[[^]]+\])|.若要使用此表达式获取拆分,可以使用以下代码:
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;发布于 2009-12-08 19:05:41
嗯..。
\[[^]]*\]|.发布于 2009-12-08 19:54:20
试试这个:
string pattern = @"(\[[1-9A-F?]-[1-9A-F?]\])|[1-9A-F?]";
string input = "[1-5]?3456[2-5][4-D]";
MatchCollection matches = Regex.Matches(input, pattern);
foreach (Match m in matches)
Console.WriteLine(m.Value);https://stackoverflow.com/questions/1869136
复制相似问题