C#基于正則表達(dá)式抓取a標(biāo)簽鏈接和innerhtml的方法
本文實(shí)例講述了C#基于正則表達(dá)式抓取a標(biāo)簽鏈接和innerhtml的方法。分享給大家供大家參考,具體如下:
//讀取網(wǎng)頁html string text = File.ReadAllText(Environment.CurrentDirectory + "http://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 + "http://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標(biāo)簽的src 和data-url 跟上面差不多。。順便附上
string text =File.ReadAllText(Environment.CurrentDirectory + "http://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 + "http://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款非常方便的正則表達(dá)式工具供大家參考使用:
JavaScript正則表達(dá)式在線測(cè)試工具:
http://tools.jb51.net/regex/javascript
正則表達(dá)式在線生成工具:
http://tools.jb51.net/regex/create_reg
更多關(guān)于C#相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《C#正則表達(dá)式用法總結(jié)》、《C#編碼操作技巧總結(jié)》、《C#中XML文件操作技巧匯總》、《C#常見控件用法教程》、《WinForm控件用法總結(jié)》、《C#數(shù)據(jù)結(jié)構(gòu)與算法教程》、《C#面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》及《C#程序設(shè)計(jì)之線程使用技巧總結(jié)》
希望本文所述對(duì)大家C#程序設(shè)計(jì)有所幫助。
欄 目:C#教程
下一篇:C# for循環(huán)的經(jīng)典案例集錦
本文標(biāo)題:C#基于正則表達(dá)式抓取a標(biāo)簽鏈接和innerhtml的方法
本文地址:http://mengdiqiu.com.cn/a1/C_jiaocheng/5704.html
您可能感興趣的文章
- 01-10基于C#實(shí)現(xiàn)簡(jiǎn)單離線注冊(cè)碼生成與驗(yàn)證
- 01-10C#基于UDP實(shí)現(xiàn)的P2P語音聊天工具
- 01-10C#編程自學(xué)之運(yùn)算符和表達(dá)式
- 01-10C#實(shí)現(xiàn)基于加減按鈕形式控制系統(tǒng)音量及靜音的方法
- 01-10C#正則表達(dá)式的6個(gè)簡(jiǎn)單例子
- 01-10C#中的正則表達(dá)式介紹
- 01-10C#基于WebBrowser獲取cookie的實(shí)現(xiàn)方法
- 01-10C#基于委托實(shí)現(xiàn)多線程之間操作的方法
- 01-10C#使用正則表達(dá)式實(shí)現(xiàn)首字母轉(zhuǎn)大寫的方法
- 01-10輕松學(xué)習(xí)C#的正則表達(dá)式


閱讀排行
- 1C語言 while語句的用法詳解
- 2java 實(shí)現(xiàn)簡(jiǎn)單圣誕樹的示例代碼(圣誕
- 3利用C語言實(shí)現(xiàn)“百馬百擔(dān)”問題方法
- 4C語言中計(jì)算正弦的相關(guān)函數(shù)總結(jié)
- 5c語言計(jì)算三角形面積代碼
- 6什么是 WSH(腳本宿主)的詳細(xì)解釋
- 7C++ 中隨機(jī)函數(shù)random函數(shù)的使用方法
- 8正則表達(dá)式匹配各種特殊字符
- 9C語言十進(jìn)制轉(zhuǎn)二進(jìn)制代碼實(shí)例
- 10C語言查找數(shù)組里數(shù)字重復(fù)次數(shù)的方法
本欄相關(guān)
- 01-10C#通過反射獲取當(dāng)前工程中所有窗體并
- 01-10關(guān)于ASP網(wǎng)頁無法打開的解決方案
- 01-10WinForm限制窗體不能移到屏幕外的方法
- 01-10WinForm繪制圓角的方法
- 01-10C#實(shí)現(xiàn)txt定位指定行完整實(shí)例
- 01-10WinForm實(shí)現(xiàn)仿視頻播放器左下角滾動(dòng)新
- 01-10C#停止線程的方法
- 01-10C#實(shí)現(xiàn)清空回收站的方法
- 01-10C#通過重寫Panel改變邊框顏色與寬度的
- 01-10C#實(shí)現(xiàn)讀取注冊(cè)表監(jiān)控當(dāng)前操作系統(tǒng)已
隨機(jī)閱讀
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置
- 08-05織夢(mèng)dedecms什么時(shí)候用欄目交叉功能?
- 01-10delphi制作wav文件的方法
- 08-05DEDE織夢(mèng)data目錄下的sessions文件夾有什
- 01-10使用C語言求解撲克牌的順子及n個(gè)骰子
- 01-11ajax實(shí)現(xiàn)頁面的局部加載
- 01-10C#中split用法實(shí)例總結(jié)
- 04-02jquery與jsp,用jquery
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 08-05dedecms(織夢(mèng))副欄目數(shù)量限制代碼修改