与Regex.Match分割

时间:2010-10-03 16:59:48

标签: c# regex split

我有一个像“颜色:黄色,绿色,白色”的字符串。 我需要从中获取一个数组(“黄色”,“绿色”,“白色”),并且需要使用一个正则表达式。

我正在尝试应用类似

的内容
var result = Regex.Match("Colors: green, white, yellow", @":(\s(?<result>.*?)(,|$))*");

我得到的是 result.Groups [“result”] ==“yellow”

我怎样才能获得所有其他颜色?可能有另一种方法可以做到这一点吗?

2 个答案:

答案 0 :(得分:2)

此代码段将为您提供result匹配对象中的一系列颜色。

string[] colours = result.Groups["result"].Captures
    .Cast<Capture>()
    .Select(c => c.Value)
    .ToArray();

答案 1 :(得分:1)

尝试result.Groups [“result”]。捕获