如何从两个字符串中提取一些参数,并用它们填充数据网格?
我有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);