论坛首页 编程语言技术论坛

请教正则表达式的问题

浏览 3284 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-05-23  
<tr class="OddRow">
  <td width="100%">全部点击</td>
  <td width="0%" nowrap><p align="right">1,153,103</p></td>
</tr>


我要得到上面的1153103,我写了这个正则,
public ArrayList GetList()
{
   MatchCollection mc = Regex.Matches(htmlstr, @"<tr.*[^<]<td.*?[^>]\>.*[^;];
   (?<ItemName>[\u4e00-\u9fa5]+).*[^<]</td>\s*<td.*?[^>]\>\s*<p.*[^>]\>.*[^;];
   (?<ItemValue>(\d+(((\.|\,)\d+)|((\:\d+)+))?))", RegexOptions.IgnoreCase);			
//循环得到值
  foreach(Match m in mc)
 {
    accessdataList.Add(m.Groups["ItemName"].Value+"|"+m.Groups["ItemValue"].Value);
 }
 return accessdataList;
}
然后得到accessdataList里面的值其中的全部点击
得到的是1153,而不是1153103。这是为什么?
   发表时间:2007-05-23  
上面的htmlstr就是html中的内容
0 请登录后投票
   发表时间:2007-05-24  
找了一下午终于解决了
MatchCollection mc = Regex.Matches(htmlstr, @"<tr.*[^<]<td.*?[^>]\>.*[^;];(?<ItemName>[\u4e00-\u9fa5]+).*[^<]</td>\s*<td.*?[^>]\>\s*<p.*[^>]\>.*[^;];(?<ItemValue>(\d+((((\,|\.)\d+)+)|((\:\d+)+))?))", RegexOptions.IgnoreCase);

0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics