如何从两个字符串中提取一些参数并用它们填充数据网格?
我有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:
显然,我需要一个正则表达式。现在我有一个参数的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);
如何构建更复杂的正则表达式我不知道!浪费了很多时间......
答案 0 :(得分:2)
这可能会这样做:
matchResults = Regex.Match(
subjectString,
@"""(.*?)""\s+tag\s+(\d+).*?ip\s+([\d./]+)",
RegexOptions.Singleline);