C#正则表达式抓取a标签链接和innerhtml C#基于正则表达式抓取a标签链接和innerhtml的方法
意犹未尽 人气:0想了解C#基于正则表达式抓取a标签链接和innerhtml的方法的相关内容吗,意犹未尽在本文为您仔细讲解C#正则表达式抓取a标签链接和innerhtml的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:C#,正则表达式,抓取,a标签,链接,innerhtml,下面大家一起来学习吧。
本文实例讲述了C#基于正则表达式抓取a标签链接和innerhtml的方法。分享给大家供大家参考,具体如下:
//读取网页html string text = File.ReadAllText(Environment.CurrentDirectory + "//test.txt", Encoding.GetEncoding("gb2312")); string prttern = "<a(\\s+(href=\"(?<url>([^\"])*)\"|'([^'])*'|\\w+=\"(([^\"])*)\"|'([^'])*'))+>(?<text>(.*?))</a>"; var maths = Regex.Matches(text, prttern); //抓取出来写入的文件 using (FileStream w = new FileStream(Environment.CurrentDirectory + "//wirter.txt", FileMode.Create)) { for (int i = 0; i < maths.Count; i++) { byte[] bs = Encoding.UTF8.GetBytes(string.Format("链接地址:{0}, innerhtml:{1}", maths[i].Groups["url"].Value, maths[i].Groups["text"].Value) + "\r\n"); w.Write(bs, 0, bs.Length); Console.WriteLine(); } } Console.ReadKey();
图解正则
朋友需要截取img标签的src 和data-url 跟上面差不多。。顺便附上
string text =File.ReadAllText(Environment.CurrentDirectory + "//test.txt", Encoding.GetEncoding("gb2312")); string prttern = "<img(\\s*(src=\"(?<src>[^\"]*?)\"|data-url=\"(?<dataurl>[^\"]*?)\"|[-\\w]+=\"[^\"]*?\"))*\\s*/>"; var maths = Regex.Matches(text, prttern); //抓取出来写入的文件 using (FileStream w = new FileStream(Environment.CurrentDirectory + "//wirter.txt", FileMode.Create)) { for (int i = 0; i < maths.Count; i++) { byte[] bs = Encoding.UTF8.GetBytes(string.Format("图片src:{0}, 图片data-url:{1}", maths[i].Groups["src"].Value, maths[i].Groups["dataurl"].Value) + "\r\n"); w.Write(bs, 0, bs.Length); Console.WriteLine(); } }
PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:
JavaScript正则表达式在线测试工具:
http://tools.softyun.net/regex/javascript
正则表达式在线生成工具:
http://tools.softyun.net/regex/create_reg
希望本文所述对大家C#程序设计有所帮助。
加载全部内容