正規表示式 HTML中的匹配

2021-07-29 12:41:18 字數 1232 閱讀 8808

從html中文字中提取email位址和http url,是在做爬蟲時候的經常用到的技術,雖然變成語言本身可以幫助我們找到他們,但是用正規表示式來匹配也是很有用和具有實際意義的方法。

html不是有特別嚴格程式設計要求的,因此在匹配時會遇到很多特殊情況需要特殊處理,這裡僅僅給出一般化的解決方法:

【文字】ddd< input name=dir value=」>」>ddd

【解析】顯然,文字中非轉義字元》與閉尖括號的提取是難點,不能向往常一樣[^>]來提取。

【表示式】 <(「[^」]*」|』[^』]*』|[^』」>])*>

「[^」]*」表示提取雙括號的內容

『[^』]*』表示提取單括號的內容

[^』」>]表示提取其他內容

【注意】也許你用<.*>也能匹配上述文字,但是實際情況時當你遇到的是ddd< input name=dir value=」>」>ddd< / input>時候,它將匹配全部。

【文字】< a href=」>my blog < / a >

【解析】要獲取雙引號或單引號中間的位址,但不是所有雙引號的內容都是link,「href=」很重要

【表示式】href\s*=\s*(「[^」]*」|」[^』]*」|[^」』>]+)

【文字】read the comments at you can find …

【解析】url型別包括:māilto, http, https, ftp

但是有時候文字中並不包含上訴開頭,而是直接以www.baidu.com出現。

【表示式1】

)? 【不包含特殊符號(?!=)的url的表示式】https?://\w+(.\w+)+(\/\w+)*(.\w+)*

【包含特殊符號(?!=)的url簡化表示式】

正規表示式匹配html標籤

1 匹配 import re str result re.match r w str print result 執行結果 說明 html中的 和 匹配時仍舊使用 和 w可以匹配數字 字母 下劃線 希臘字母 俄文本母等 表示至少有0個 匹配任意單字元,除了換行符 n 上述匹配有乙個缺陷,result ...

正規表示式 匹配

字串 void abtr quint32 ab 表示乙個正規表示式 template class bidirectionaliterator class allocator std allocator sub match bidirectionaliterator class match resul...

正規表示式匹配

請實現乙個函式用來匹配包括 和 的正規表示式。模式中的字元 表示任意乙個字元,而 表示它前面的字元可以出現任意次 包含0次 在本題中,匹配是指字串的所有字元匹配整個模式。例如,字串 aaa 與模式 a.a 和 ab ac a 匹配,但是與 aa.a 和 ab a 均不匹配 解法 首先要想到用遞迴處理...