有一篇网页源代码,段落是比较规律的。我提取了其中一段,别的都和这一段基本相似。如下:xxxxxxxx随机内容<a href="read-htm-tid-8012348(需要提取8012348这个可变数字,前面的a href-read-htm-tid-字符串是固定的,可以用于定位).html" id="a_ajax_8012348(无用数据)">一只绣眼文章标题(需要提取该文字)</a></span></h3> <span class='gray tpage'>( +9352 )</span> <img src="images/wind/file/new.gif" align="absmiddle" /> <span class="tpage">....中间很多无用数据.......d-8012348-page-11-fpage-1.html">11</a></span> </span> </td> <td class="tal y-style"><a href="u-htm-action-show-uid-278024.html" class="bl">老海人名(需要提取该文字)</a> <div class="f10 gray2">2012-10-12(需要提取该文字)</div></td> <td class="tal y-style f10"><span class="s8(这里是固定的,可以定位)">107(需要提取该数字)</span> / 795(需要提取该数字)</td>随机内容xxxxxxxx我需要提取6个关键的地方,分别是:8012348
一只绣眼文章标题
老海人名
2012-10-12
107
795注意:
1)源代码中,795和斜杠前面,都是有空格的,并非我故意加入的空格。
2) 2012-10-12字符串前面的<div class="f10 gray2">是固定的,可以用于定位。
3)要求必须用正则,因为我要提取很大一段网页源代码类似的。不用正则提取不出来。我用的正则格式如下:
foreach (Match m in Regex.Matches(zifuchuan, "正则")
{
m.Groups[1].Value.ToString();
}
一只绣眼文章标题
老海人名
2012-10-12
107
795注意:
1)源代码中,795和斜杠前面,都是有空格的,并非我故意加入的空格。
2) 2012-10-12字符串前面的<div class="f10 gray2">是固定的,可以用于定位。
3)要求必须用正则,因为我要提取很大一段网页源代码类似的。不用正则提取不出来。我用的正则格式如下:
foreach (Match m in Regex.Matches(zifuchuan, "正则")
{
m.Groups[1].Value.ToString();
}
解决方案 »
- 关于面向对象设计的疑惑,需求与设计的矛盾。
- 如何将int转换成byte型
- openFileDialog和folderBrowserDialog的疑问
- VS2005做的cs winform程序,并且部署好了,在VISTA下运行需要装什么
- C#能否开发一个禁止用户移动文件,文件夹或复制?例如禁止把文件移到桌面上?
- C#写数据到mysql,带参数的sql语句这样写哪里出错了?
- flexgrid中动态生成的CHECKBOX了,如何使用CHECKED事件?
- 现在小弟想改用Response.Redirect或Server.Transfer来做,不过小弟不知道怎么去禁止客户端浏览器的地址和其他工具栏显示,请问有哪个高手怎
- 继承的类里面为何无法访问父类的protected成员
- 简单问题????急,在线等。详细见里面代码。
- 关于socket client异步接收数据
- 数据库循环读取时能否在操作数据库?
foreach (Match m in Regex.Matches(zifuchuan, @"(?is)<a href=""read-htm-tid-\d+\.html""[^>]*>(.*?)</a>.+?<a href=""u-htm-action-show-uid-\d+\.html"" class=""bl"">(.*?)</a>\s*<div class=""f10 gray2"">(.*?)</div>.*?<span class=""s8"">(\d+)</span>\s*/\s*(\d+)</td>"))
{
Response.Write(m.Groups[1].Value + "<br/>");
Response.Write(m.Groups[2].Value + "<br/>");
Response.Write(m.Groups[3].Value + "<br/>");
Response.Write(m.Groups[4].Value + "<br/>");
Response.Write(m.Groups[5].Value + "<br/>");
}
一只绣眼文章标题
老海人名
2012-10-12
107
795
foreach (Match m in Regex.Matches(html , @"(?is)<a\s*href=""read-htm-tid-(?<num>\d+)\.html""[^>]*?>(?<acontent>.*?)</a>.+?<a\s*href=""u-htm-action-show-uid-\d+\.html""[^>]*?class=""bl"">(?<bcontent>.*?)</a>\s*<div\s*class=""f10 gray2"">(?<divcontent>.*?)</div>.*?<span\s*class=""s8"">(?<snum>\d+)</span>\s*/\s*(?<snum1>\d+)</td>"))
{
Response.Write(m.Groups["num"].Value + "<br/>");
Response.Write(m.Groups["acontent"].Value + "<br/>");
Response.Write(m.Groups["bcontent"].Value + "<br/>");
Response.Write(m.Groups["divcontent"].Value + "<br/>");
Response.Write(m.Groups["snum"].Value + "<br/>");
Response.Write(m.Groups["snum1"].Value + "<br/>");
}
/*
8012348
一只绣眼文章标题
老海人名
2012-10-12
107
795
*/