日期:2014-05-16  浏览次数:20719 次

求两个正则表达式详细写法,谢谢各位,一定给分
本帖最后由 u013696366 于 2014-03-12 22:05:57 编辑
1.  

.............<Compile Include="C:\Program Files\Adobe\abc\program.cs"/>............. 或
..................<Compile Include="Project\name.cs">......

提取出Include后边引号里的文件部分(红色),前边的<Compile Include="不变,后边的/>有可能是>或/>


2.   .................GetParam("abc","D_ABC_PRAM_0") ; ................................
提取出GetParam方法中的第二个参数中引号内的部分,即红色部分


最好能写出所有的过程,不只是一个正则表达式,谢谢啊
高分答谢!!!
------解决方案--------------------
1. var reg=new Regex(@"(?<=Compile Include=(""))[^""]+(?=\1)");

2. var reg=new Regex(@"(?<=GetParam\(("")[^""]\1,\1)[^""]+(?=\1)");

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

2. var reg=new Regex(@"(?<=GetParam\([^,]+,(""))[^""]+(?=\1\))");

------解决方案--------------------
string str1 = @"<Compile Include=""C:\Program Files\Adobe\abc\program.cs""/>";
            string str2 = @"GetParam(""abc"",""D_ABC_PRAM_0"") ;";

            string v1 = Regex.Match(str1, @"(?i)(?<=<Compile[^>]*?Include=['""])[^'""]*?(?=['""])").Value;//C:\\Program Files\\Adobe\\abc\\program.cs
            string v2 = Regex.Match(str2, @"(?i)(?<=GetParam\([^,]*?,['""])[^'""]*?(?=['""])").Value;//D_ABC_PRAM_0