关于html 分析问题 问题是这样的,我做了个网页爬虫,获得了指定的html代码,想获取其中某个文本的链接地址,如下<html><body><a href='我要获取此链接' >文本内容</a></body></html>文本内容 是固定的,也许是一个固定的图片链接,就是想得到其超链接的地址,用正则表达式只能获取所有的超链接地址,却不能获取我指定内容的超链接地址,希望知道的朋友不吝赐教,在此谢谢各位了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 try... static void Main(string[] args) { Regex r = new Regex(@"<a\s*href='([^']+)\s*[^>]*>"); string str = @"<html> <body> <a href='我要获取此链接' >文本内容 </a> </body> </html>"; Match m; for (m = r.Match(str); m.Success; m = m.NextMatch()) { Console.WriteLine(m.Groups[1].ToString()); } } string _Value = "<html> <body> <a href='我要获取此链接' >文本内容 </a> </body> </html> "; Regex _Regex = new Regex(@"(?<=<a href=')[^']+"); MessageBox.Show(_Regex.Match(_Value).Value);这样? 正则表达式获得文本内容的位置,然后取得其前面的链接即用零宽断言,然后匹配href或者正则表达式获得如下整个部分<a href='我要获取此链接' >文本内容 </a>然后根据文本内容判断 web服务、ado.net数据服务、http端点、wcf 动态添加的用户自定义复合控件如何响应MouseDown事件 C#转ASP.net容易么 求一复杂动态报表?高手都进来呀! 无法获取托管类型的变量地址或大小? 使用Outlook的界面存取SQL数据库如何做 啊,我怎么找不到c#的winform的配置文件在哪里啊? 专注于.NET技术 请问怎么在创建的新线程里调用主线程的控件? 高分请教:如何在应用程序中创建、修改一个存储过程,要求能保持一定的格式? c# 部署 尝试为文件..附加自动命名的数据库,但失败
static void Main(string[] args)
{
Regex r = new Regex(@"<a\s*href='([^']+)\s*[^>]*>");
string str = @"<html> <body> <a href='我要获取此链接' >文本内容 </a> </body> </html>";
Match m;
for (m = r.Match(str); m.Success; m = m.NextMatch())
{
Console.WriteLine(m.Groups[1].ToString());
}
}
Regex _Regex = new Regex(@"(?<=<a href=')[^']+"); MessageBox.Show(_Regex.Match(_Value).Value);这样?
即用零宽断言,然后匹配href
或者正则表达式获得如下整个部分
<a href='我要获取此链接' >文本内容 </a>然后根据文本内容判断