也许这是因为我完全炸的权利,但是这个代码:C#.NET正则表达式工作不正常
static void Main(string[] args)
{
Regex regx = new Regex(@"^.*(vdi([0-9]+\.[0-9]+)\.exe).*$");
MatchCollection results = regx.Matches("vdi1.0.exe");
Console.WriteLine(results.Count);
if (results.Count > 0)
{
foreach (Match r in results)
{
Console.WriteLine(r.ToString());
}
}
}
应该产生输出:
2
vdi1.0.exe
1.0
如果我不疯狂。相反,它只是生产:
1
vdi1.0.exe
我错过了什么?
我想你必须使用'Groups'属性来访问子组。 –
迈克是对的。你混淆与团体的比赛。 – Sven
作为一个观点,Regex有没有组1.1“? 'vdi1.0.exe'中不会发生这种情况。你是不是指'1.0'? – voithos