从字符串中提取一些参数

时间:2014-04-23 07:29:25

标签: c# regex wpf datagrid

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

我有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。所有这些都用于填充这样的datagrid:

enter image description here

显然,我需要一个正则表达式。现在我有一个参数的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);

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

1 个答案:

答案 0 :(得分:2)

这可能会这样做:

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