当前位置:编程学习 > C#/ASP.NET >>

还是正则

 string str = "<td class='td_Css'><a href=\"#\">2332<img width=\"400px\">图片</td><td class='td_Css'><a href=\"#\">23<img width=\"400px\">图片fasd</td><td class='td_Css'><a href=\"#\">23<img width=\"400px\">图片</td> ";
            Regex re = new Regex("(?<=<td class='td_Css'>).*?(?=</td>)");
            MatchCollection mc = re.Matches(str);
            foreach (Match m in mc)
            {
                Response.Write(m.Groups[1].Value);
            }

输出是空。怎么解决?? --------------------编程问答--------------------

string str = " <td class='td_Css'> <a href=\"#\">2332 <img width=\"400px\">图片 </td> <td class='td_Css'> <a href=\"#\">23 <img width=\"400px\">图片fasd </td> <td class='td_Css'> <a href=\"#\">23 <img width=\"400px\">图片 </td> "; 
Regex re = new Regex("(?<=<td class='td_Css'>)(.*?)(?=</td>)"); 
MatchCollection mc = re.Matches(str); 
foreach (Match m in mc) 

     Response.Write(m.Groups[1].Value); 



如果要用Group取得时候 正则中应该有组()
同样你也可以这样取

string str = " <td class='td_Css'> <a href=\"#\">2332 <img width=\"400px\">图片 </td> <td class='td_Css'> <a href=\"#\">23 <img width=\"400px\">图片fasd </td> <td class='td_Css'> <a href=\"#\">23 <img width=\"400px\">图片 </td> "; 
Regex re = new Regex("(?<=<td class='td_Css'>)(.*?)(?=</td>)"); 
MatchCollection mc = re.Matches(str); 
foreach (Match m in mc) 

     Response.Write(m.Value); 

--------------------编程问答-------------------- 正则没怎么研究过,支持下。 --------------------编程问答-------------------- 像这种没有必要加组的话 正则中就不用加上括号,

Regex re = new Regex("(?<=<td class='td_Css'>).*?(?=</td>)"); 

这样用Match.Value就可以取到 --------------------编程问答-------------------- 晕了...刚才那个是你吧?正则表达式里面的符号不是可以随便改的。
string str = " <td class=\"td_Css\"> <a href=\"#\">2332 <img width=\"400px\">图片 </td> <td class=\"td_Css\"> <a href=\"#\">23 <img width=\"400px\">图片fasd </td> <td class=\"td_Css\"> <a href=\"#\">23 <img width=\"400px\">图片 </td> "; 
System.Text.RegularExpressions.Regex ss=new Regex(@"(? <= <td class=""td_Css"">).*?(?= </td>)"); 
for(int i=0;i <ss.Matches(str).Count;i++) 

Label1.Text+=Server.HtmlEncode(ss.Matches(str)[i].Value)+" <br>"; 

结果: 
<a href="#">2332 <img width="400px">图片 
<a href="#">23 <img width="400px">图片fasd 
<a href="#">23 <img width="400px">图片  --------------------编程问答-------------------- 把尖括号前后的空格去掉。 
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,