求一个正则表达式取出htm页面中所有标签的id,最好能带C#的解析程序,能完美解决追加分

 我来答
307482311
2012-12-14 · TA获得超过1471个赞
知道小有建树答主
回答量:388
采纳率:0%
帮助的人:310万
展开全部
//定义用于匹配的正则表达式.注意:id的前面有个空格
string Pattner = " id=\"(?<value>.*?)\"";
//以下为C#程序

//定义去匹配文本的正则对象
System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex(Pattner);

//你的HTML源码
string htmlSource = "<body id=\"lexunbody\"><div id=\"append_parent\"></div>id=\"4\"<div id=\"ajaxwaitid\"></div><div id=\"box\" class=\"lx2012_lt\">....";

//进行匹配操作
System.Text.RegularExpressions.MatchCollection mc = regex.Matches(htmlSource);

if (mc != null)
{
//循环输出每个ID的值
foreach (System.Text.RegularExpressions.Match m in mc)
{
MessageBox.Show(m.Groups["value"].Value);
}
}

有什么不明白再问
追问
如果我还想取到前面的标签类型呢,怎么做?大哥有QQ么,帮帮忙哈
追答
QQ:307482311
秦爱传c5
2012-12-14 · TA获得超过2052个赞
知道小有建树答主
回答量:635
采纳率:50%
帮助的人:316万
展开全部
假设 变量a 为你已获取的html源码
MatchCollection mc = Regex.Matches(a, "<[a-zA-Z]+[0-9]?\\s+.*?id=[\"']?([^\"'\\s>]+)[\"']?[^>]*>");
foreach (Match m in mc)
{
label1.Text += m.Groups[1].Value + "\r\n";
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式