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#中,因此数组的每个成员都将由每个匹配组成 谢谢!
答案 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;