C#正则表达式不返回匹配项

时间:2013-10-18 06:56:31

标签: c# regex

当我使用javascript正则表达式时,它工作正常,但Regex.Matches只返回我 1匹配,初始字符串。

这是正则表达式

(\d+)(?:\s*)(?:([0-9a-fA-F]{4})\.([0-9a-fA-F]{4})\.([0-9a-fA-F]{4}))(?:\s*)(?:\w*)(?:\s*)(.*)

这是示例字符串,我尝试解析

  50    0000.74b9.ed90    DYNAMIC     Gi0/20

1 个答案:

答案 0 :(得分:2)

尝试使用匹配而不是匹配。 索引[0]是整个匹配。

Regex.Match("50    0000.74b9.ed90    DYNAMIC     Gi0/20", @"(\d+)(?:\s*)(?:([0-9a-fA-F]{4})\.([0-9a-fA-F]{4})\.([0-9a-fA-F]{4}))(?:\s*)(?:\w*)(?:\s*)(.*)").Groups[1].ToString()

Regex.Match(input,regex).Groups[1].ToString()
Regex.Match(input,regex).Groups[2].ToString()
Regex.Match(input,regex).Groups[3].ToString()
....