首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

求一段获取表格内容的正则表达式,该怎么解决

2012-02-28 
求一段获取表格内容的正则表达式tablewidth 500bgcolor#EEEEEEtrtd 14:59:41 /tdtd 商品A /t

求一段获取表格内容的正则表达式
<table   width= '500 '   bgcolor=#EEEEEE>
<tr> <td> 14:59:41 </td> <td> 商品A </td> <td> 9.310元 </td> <td> 100个 </td> </tr>
<tr> <td> 14:59:30 </td> <td> 商品B </td> <td> 9.320元 </td> <td> 50个 </td> </tr>
<tr> <td> 14:59:30 </td> <td> 商品C </td> <td> 9.310元 </td> <td> 20个 </td> </tr>
</table>

有上面一个表格我想获取他的行数据
14:59:41   商品A   9.310元   100个
14:59:30   商品B   9.320元   50个
14:59:30   商品C   9.310元   20个

以便插入数据库里
我该怎么写正则表示式
谢谢

[解决办法]
http://www.cnblogs.com/time-is-life/articles/335554.html
[解决办法]
依我之见最好把整个表格的HTML插入数据库。
[解决办法]
<td> (? <time> \d+:\d+:\d+).* <td> (? <name> .+) <td> (? <price> \d+.\d+元).+ <td> (? <amount> \d+个)

match.Group[ "time "] match.Group[ "name "] match.Group[ "price "] match.Group[ "amount "]
[解决办法]
如果格式固定,可以简单的这样写


MatchCollection mc = Regex.Matches(yourStr, @ " <td> (? <time> [^ <]*) </td> <td> (? <name> [^ <]*) </td> <td> (? <price> [^ <]*) </td> <td> (? <num> [^ <]*) </td> ", RegexOptions.IgnoreCase);
foreach(Match m in mc)
{
richTextBox2.Text += m.Groups[ "time "].Value + "\n ";
richTextBox2.Text += m.Groups[ "name "].Value + "\n ";
richTextBox2.Text += m.Groups[ "price "].Value + "\n ";
richTextBox2.Text += m.Groups[ "num "].Value + "\n ";
}

如果可能有多种格式,楼主需要说明一下,需要具体问题具体分析,单就一个实例写出来的未必通用
[解决办法]
学习
[解决办法]
用反向搜索那个,发回重写
[解决办法]
晕,我foreah的时候少了{}...
foreach (Match m in matchs){
Response.Write(m.Groups[ "time "].Value + " <span style= 'width:10px; '> </span> ");
Response.Write(m.Groups[ "name "].Value + " <span style= 'width:10px; '> </span> ");
Response.Write(m.Groups[ "money "].Value + " <span style= 'width:10px; '> </span> ");
Response.Write(m.Groups[ "count "].Value + " <span style= 'width:10px; '> </span> ");
Response.Write( " <br> ");
}

发现我的反向搜索没有什么实际意义了。。。

热点排行