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

找出<td> </td> 之间字符串的正则表达式

</tr><tr>
<td>5345454354</td><td>2010-3-29 13:48:33</td><td>周杰伦</td>
</tr><tr>
<td>6565465466</td><td>2010-3-29 15:34:38</td><td>张学友</td>
</tr><tr>
<td>6546546546</td><td>2010-3-30 19:30:50</td><td>刘德华</td>
</tr><tr>
<td>9875646545</td><td>2010-3-31 2:20:58</td><td>郭富城</td>
</tr><tr>
<td>7868768768</td><td>2010-3-31 8:03:11</td><td>梁朝伟</td>
</tr><tr>
<td>1434444446 </td><td>2010-3-31 8:45:52</td><td>习近平</td>
</tr><tr>
<td>7665466666</td><td>2010-3-31 18:00:46</td><td>李长春</td>
</tr>
--------------------编程问答-------------------- <td>(.*?)</td> --------------------编程问答--------------------         string str = "..........";
        string pstr = "<td>(.*?)</td>";
        MatchCollection mc = Regex.Matches(str, pstr);
        for (int i = 0; i < mc.Count; i++)
        {
            Response.Write(mc[i].Result("$1"));
        }         --------------------编程问答-------------------- 如果输出 不显示<td> </td> 呢? --------------------编程问答-------------------- Response.Write(mc[i].Result("$1")); --------------------编程问答-------------------- string pstr = "<td>(.*?)</td>";

这句有问题!!! --------------------编程问答-------------------- 是我搞错了,能解释下吗?正则表达式使用还是不得要领! --------------------编程问答--------------------
MatchCollection mc = Regex.Matches(html,@"(?is)(?<=<td>).+?(?=</td>)");
foreach(Match m in mc)
{
    //Response.Write(m.Value);//web
    MessageBox.Show(m.Value);
}
--------------------编程问答--------------------

表达式
 说明
 
(?<=Expression)
 逆序肯定环视,表示所在位置左侧能够匹配Expression
 
(?<!Expression)
 逆序否定环视,表示所在位置左侧不能匹配Expression
 
(?=Expression)
 顺序肯定环视,表示所在位置右侧能够匹配Expression
 
(?!Expression)
 顺序否定环视,表示所在位置右侧不能匹配Expression

--------------------------------- 
(?is)(?<=<td>).+?(?=</td>)
---------------------------------
(?is)        模式修饰,i表示忽略大小写,s表示单行模式.能匹配回车换行
(?<=<td>)    逆序肯定环视,需要匹配的结果以<td>开头,但是<td>匹配,结果中不包含<td>
.+?          任意字符,每次匹配到符合的(任意字符),即尝试匹配后面的表达式,直到后面的表达式失败,回溯上一次匹配结果。
(?=</td>)     顺序肯定环视,匹配的结果最后要以</td>结尾,但</td>不匹配,结果中不包含</td>
--------------------编程问答-------------------- 相关学习请参考过客的博客
或者Deelx正则引擎网站 --------------------编程问答-------------------- 学习中 但不明白上面的代码意思
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,