日期:2014-05-17  浏览次数:20768 次

正则表达式解析
正则表达式一直都不是很擅长,时间长了还忘了不少,请问下面的字符串怎么解析出Variables,T,Time,F后面的变量:
Variables = "x1","x2","v1","v2","type" ZONE T=" Time =  1.8000E-05 " F=FEPOINT
我写的是:@"^\s*Variables\s*=\s*(?<id1>)\s*ZONE\s*T=\s*(?<id2>)\s*F=\s*(?<id3>)\s*"
通过id1,id2,id3获取对应的值,
"x1","x2","v1","v2" 
" Time =  1.8000E-05 "
FEPOINT
但是结果却是空的,请问哪个部分错了呢?
正则表达式

------解决方案--------------------

 string sourcestr = @"Variables = ""x1"",""x2"",""v1"",""v2"",""type"" ZONE T="" Time =  1.8000E-05 "" F=FEPOINT";
            Regex regstr = new Regex(@"(?i)Variables\s*=\s*(?<id1>.*?)\s*,\s*""type""\s*ZONE\s*T\s*=\s*(?<id2>.*?)\s*F\s*=\s*(?<id3>.*?)(?=$)");
            Console.WriteLine(regstr.Match(sourcestr).Groups["id1"].Value);
            Console.WriteLine(regstr.Match(sourcestr).Groups["id2"].Value);
            Console.WriteLine(regstr.Match(sourcestr).Groups["id3"].Value);