读书人

正则表达式,获取tb里的值

发布时间: 2012-04-27 11:57:44 作者: rapoo

求一个正则表达式,获取tb里的值
源文件是:
<table border="0" cellpadding="0" cellspacing="0" class="add">
<tr>
<th width="20" class="nb">
职位
</th>
<th width="135">
姓名
</th>
<th width="80">
电话
</th>
<th width="40">
性别
</th>
<th width="160">
年龄
</th>
<th width="180">
邮箱
</th>
<th>
备注
</th>
<th width="16" class="no">
</th>
</tr>
<tr>
<td>
</td>
<td>
<a href="zhao.aspx">赵</a>
</td>
<td>
<span class="fcgray">111111</span>
</td>
<td>
<span class="sex0">男</span>
</td>
<td>
</td>
<td title="">
</td>
<td title="">
</td>
</tr>
<tr class="m">
<td>
</td>
<td>
<a href="niuniu.aspx">牛</a>
</td>
<td>
<span class="fcgray">2222222</span>
</td>
<td>
</td>
<td>
</td>
<td title="">
</td>
<td title="">
</td>
</tr>
<tr>
<td>
</td>
<td>
<a href="fei.aspx">飞</a>
</td>
<td>
<span class="fcgray">3333333</span>
</td>
<td>
<span class="sex0">男</span>
</td>
<td>
</td>
<td title="">
</td>
<td title="">
</td>
</tr>
<tr class="m">
<td>
<img src="manage.gif" align="absmiddle" />
</td>
<td>
<a href="qi.aspx">奇</a>
</td>
<td>
<span class="fcgray">4444444</span>
</td>
<td>


</td>
<td>
</td>
<td title="">
</td>
<td title="">
</td>
</tr>
<tr>
<td>
<img src="admin.gif" align="absmiddle" />
</td>
<td>
<a href="zhang.aspx">张</a>
</td>
<td>
<span class="fcgray">5555555</span>
</td>
<td>
</td>
<td>
</td>
<td title="">
</td>
<td title="">
</td>
</tr>
<tr class="m">
<td>
</td>
<td>
<a href="xie.aspx">解</a>
</td>
<td>
<span class="fcgray">6666666</span>
</td>
<td>
</td>
<td>
</td>
<td title="">
</td>
<td title="">
</td>
</tr>
</table>
想要的结果是:
空 赵 111111 男 空 空
空 牛 222222 空 空 空
空 飞 333333 男 空 空
manage 奇 444444 空 空 空
admin 张 555555 空 空 空
空 解 666666 空 空 空
求一正则解决,这个问题困扰我很久了, 一直在找例子看 自己改一直没有做到,请大家帮帮忙了, 谢谢各位了

[解决办法]

C# code
void Main(){var html =File.ReadAllText("C:\\csdn.txt"); Regex reg=new Regex(@"(?is)<tr[^>]*?>(\s*<td[^>]*?>(.*?)</td>)+");Regex regImag=new Regex(@"(?i)<img\b[^>]*?src=(['""\s]?)([^'""\s]+)\.(?:gif|png|jpg)\1[^>]*?>");      foreach(Match m in reg.Matches(html))      {        foreach(Capture c in m.Groups[2].Captures)        {           string v=c.Value.Trim();           string outV;           if(regImag.IsMatch(v))              outV=regImag.Match(v).Groups[2].Value;            else outV=string.IsNullOrEmpty(c.Value.Trim())?"空":Regex.Replace(c.Value.Trim(),"<[^>]*?>","");            Console.Write("{0}  ",outV);        }        Console.WriteLine( );      }           /*    空  赵  111111  男  空  空  空      空  牛  2222222  空  空  空  空      空  飞  3333333  男  空  空  空      manage  奇  4444444  空  空  空  空      admin  张  5555555  空  空  空  空      空  解  6666666  空  空  空  空        */} 

读书人网 >C#

热点推荐