如何将Regex.Matches放入数组中?

use*_*396 14 c# regex arrays

我有多个正则表达式匹配.例如,我如何将它们放入一个数组并单独调用它们ID[0] ID[1]

string value = ("{\"ID\":\"([A-Za-z0-9_., ]+)\",");
string ID = Regex.Matches(textt, @value);`
Run Code Online (Sandbox Code Playgroud)

Ani*_*Ani 27

你可以这样做,因为MatchCollection有一个int索引器,允许你通过索引访问匹配.这完全有效:

MatchCollection matches = Regex.Matches(textt, @value);
Match firstMatch = matches[0];
Run Code Online (Sandbox Code Playgroud)

但是如果你真的想把匹配放到数组中,你可以这样做:

Match[] matches = Regex.Matches(textt, @value)
                       .Cast<Match>()
                       .ToArray();
Run Code Online (Sandbox Code Playgroud)

  • @EliEkstein您需要导入使用System.Linq :-) (2认同)