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

c#正则取一段数据请问

2014-01-21 
c#正则取一段数据请教要获取的html如下trtda target_blank href/huodong/33.htmlweather365/

c#正则取一段数据请教
要获取的html如下

<tr>
<td><a target="_blank" 

href="/huodong/33.html">weather365</a></td>
<td>8</td>
<td class="money"><span>0.20</span></td>


<td class="money"><span>1.60</span></td>
<td>未支付</td>
<td>2014/01/16-

2014/01/17</td>
</tr>
<tr>
<td><a target="_blank" 

href="/huodong/23.html">365气象</a></td>
<td>1</td>
<td class="money"><span>0.20</span></td>


<td class="money"><span>0.20</span></td>
<td>未支付</td>
<td>2014/01/16-

2014/01/17</td>
</tr>
<tr>
<td><a target="_blank" 

href="/huodong/33.html">weather365</a></td>
<td>97</td>
<td class="money"><span>0.20</span></td>


<td class="money"><span>19.40</span></td>
<td>未支付</td>
<td>2014/01/15-

2014/01/16</td>
</tr>
<tr>
<td><a target="_blank" 

href="/huodong/23.html">365气象</a></td>
<td>1</td>
<td class="money"><span>0.20</span></td>


<td class="money"><span>0.20</span></td>
<td>未支付</td>
<td>2014/01/15-

2014/01/16</td>
</tr>
<tr>
<td><a target="_blank" 

href="/huodong/33.html">weather365</a></td>
<td>64</td>
<td class="money"><span>0.20</span></td>


<td class="money"><span>12.80</span></td>
<td>未支付</td>
<td>2014/01/14-

2014/01/15</td>
</tr>
<tr>
<td><a target="_blank" 

href="/huodong/33.html">weather365</a></td>
<td>67</td>
<td class="money"><span>0.20</span></td>


<td class="money"><span>13.40</span></td>
<td>未支付</td>
<td>2014/01/13-

2014/01/14</td>
</tr>
<tr>
<td><a target="_blank" 

href="/huodong/23.html">365气象</a></td>
<td>1</td>
<td class="money"><span>0.20</span></td>


<td class="money"><span>0.20</span></td>
<td>未支付</td>
<td>2014/01/13-

2014/01/14</td>
</tr>
<tr>
<td><a target="_blank" 

href="/huodong/33.html">weather365</a></td>
<td>124</td>
<td class="money"><span>0.20</span></td>


<td class="money"><span>24.80</span></td>
<td>已支付</td>
<td>2014/01/12-

2014/01/13</td>
</tr>
<tr>
<td><a target="_blank" 

href="/huodong/33.html">weather365</a></td>
<td>97</td>
<td class="money"><span>0.20</span></td>


<td class="money"><span>19.40</span></td>
<td>已支付</td>
<td>2014/01/11-

2014/01/12</td>
</tr>
<tr>
<td><a target="_blank" 

href="/huodong/33.html">weather365</a></td>
<td>100</td>
<td class="money"><span>0.20</span></td>


<td class="money"><span>20.00</span></td>
<td>已支付</td>
<td>2014/01/10-

2014/01/11</td>
</tr>
</table>

<div class="clr"></div>
</dd>
</dl>

<!-- 

<dl class="reg_list">
<dt>
<h2>系统公告</h2>



我想获取 最上面的 <td>8</td>里面的8 和<td>1</td> 里的1 条件是这两个都是<td>2014/01/16-
我自己的代码 贴出来如下

 Regex groupReg = new Regex(@"<td>(?<num>.*)</td>.*<td class=""money""><span>.*</span></td>\s*<td class=""money""><span>(?<titles>.*)</span></td>\s*<td>未支付</td>\s*<td>" + date);
                    MatchCollection mc = groupReg.Matches(result);


这段没有匹配到 ,请教下 应该怎么写代码呢 请把代码帖出来


[解决办法]

string sInput = File.ReadAllText(@"C:\Users\myx\Desktop\Test.txt", Encoding.GetEncoding("GB2312"));

           
            string begin_date = @"2014/01/16";
            string end_date=@"2014/01/17";
            //=
            foreach (Match m in Regex.Matches(sInput, string.Format(@"(?<=<td>)\d+(?=</td>[\s\S]*?<td>[^<>]*?{0}\s*?-\s*?[^<>]*?</td>)", begin_date, end_date)))
            {
                //8 1
                
            }

热点排行