如何从两个字符串中提取一些参数,并用它们填充数据网格?

我有config.txt文件,并且有两个字符串成对重复:

set interface "ethernet1/1.271" tag 271 zone "Ntg-Gom"
set interface ethernet1/1.271 ip 192.168.9.6/30


从这两个字符串中,我需要提取ethernet1 / 1.271,271,192.168.9.6/30。所有这些用于填充这样的数据网格:



显然,我需要一个正则表达式。现在我有一个参数的regexp(这里是以太网):

StreamReader reader2 = new StreamReader(opendialog.FileName);
string patternI = @"set interface (""ethernet\S+"")";

var matchesI =
Regex.Matches(reader2.ReadToEnd(), patternI).Cast<Match>().Where(m => m.Success)
                        .Select(m => m.Groups[1].Value);


我不知道如何构造更复杂的正则表达式!浪费很多时间...

最佳答案

这可能会做到:

matchResults = Regex.Match(
                 subjectString,
                 @"""(.*?)""\s+tag\s+(\d+).*?ip\s+([\d./]+)",
                 RegexOptions.Singleline);

09-25 22:06