浏览 3284 次
锁定老帖子 主题:请教正则表达式的问题
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-05-23
<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。这是为什么? 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-05-23
上面的htmlstr就是html中的内容
|
|
返回顶楼 | |
发表时间:2007-05-24
找了一下午终于解决了
MatchCollection mc = Regex.Matches(htmlstr, @"<tr.*[^<]<td.*?[^>]\>.*[^;];(?<ItemName>[\u4e00-\u9fa5]+).*[^<]</td>\s*<td.*?[^>]\>\s*<p.*[^>]\>.*[^;];(?<ItemValue>(\d+((((\,|\.)\d+)+)|((\:\d+)+))?))", RegexOptions.IgnoreCase); |
|
返回顶楼 | |