C#Store Regex结果为数组

时间:2014-05-21 13:14:33

标签: c# regex

C#中是否可以将Regex结果存储在Array中,因此每个成员都会存储每个正则表达式匹配

与Python相似:

text="A text is"
a=re.findall("[A-Z/a-z]+",text)
print(a[:]) //If write print(a[0]) it will return 'A', a[1] will give 'text', a[2] 'is', a[:] prints whole results

因此可以将正则表达式结果存储在C#中,因此数组的每个成员都将由每个匹配组成 谢谢!

2 个答案:

答案 0 :(得分:2)

您可以使用Regex.Matches方法。这将返回包含所有匹配项的MatchCollection。匹配的文本是该集合的每个项目(Value)的Match属性。

所以,使用相当于你的样本:

var text = "A text is";
var matches = Regex.Matches(text, "[A-Za-z]+);

matches[0].Value.Dump();

答案 1 :(得分:0)

是肯定的。用括号表示值。然后访问groups数组。

Match match = Regex.Match("abc","(a)(b)(c)");
string a = match.Groups[1].Value;