在學習python來做乙個爬蟲時,是一定要知道正規表示式的,今天我就把學到的關於正規表示式的知識分享給大家,希望可以對你們有所幫助
字元
一般字元 匹配自身
. 匹配任意除換行符以外的字元
\ 轉義字元,使後乙個字元改變原來的意思
字符集,對應的位置可以是字符集中任意字元 ^表示取反,意思是除過這些字元之外的其他字元
預定義字符集(可以寫在字符集[…]中)\d 匹配數字0-9
\d 匹配非數字
\s 空白字元 [
《空格》\t
\r\n
\f\v
]\s 非空白字元[^\s
]\w 單詞字元[a-z a-z 0-9]
\w 非單詞字元[^\w
]
數量詞(用在字元或(…)之後)* 匹配前乙個字元0或無限次
+ 匹配前乙個字元1次或無限次
? 匹配前乙個字元0次或一次
匹配前乙個字元m次
匹配前乙個字元m-n次 ,若省略m,則匹配0-n次,若省略n,匹配m到無限次
*?+???? 使*+?變成非貪婪模式
邊界匹配^ 匹配字串開頭,在多行模式匹配每一行的開頭
$ 匹配字串末尾,在多行模式匹配每一行的末尾
\a 僅匹配字串開頭
\z 僅匹配字串末尾
/b 匹配\w和\w之間
/b [^/b]
邏輯分組| **左右表示式任意匹配乙個,總是先嘗試左邊的表示式,一旦匹配成功則跳過匹配右邊的表示式,如果|沒有被包括在()中,範圍就是整個正規表示式
(...) 被括起來的表示式將作為分組,從表示式左邊開始每遇到乙個分組的左括號'(',編號加1,另外,分組表示式作為乙個整體,可以後接數量詞,表示式中的|僅在改組有效')
(?p...) 分組,除了原來的編號外再指定乙個額外的別名
\引用編號為的分組匹配到的字串
(?p = name) 引用別名的分組匹配到的字串
特殊構造(不作為分組)(?:...) (...)的不分組版本,用於使用|或後接數量詞
(?ilmsux) ilmsux的每個字元代表乙個匹配模式,只能用在正規表示式的開頭,可選多個
(?#...) #後的內容將作為注釋被忽略
(?!...) 之後的表示式內容需要不匹配表示式才能成功匹配
(?<=...) 之前的字串需要匹配表示式才能成功匹配
(?...) 之前的字串內容需要不匹配表示式才能成功匹配
(?(id/name)yes-pattern|no-pattern) 如果編號為id/別名為name的組匹配到字元,則需要匹配yes-pattern,否則需要匹配no-pattern |no-pattern 可以省略
1.2數量詞的貪婪模式和非貪婪模式
關於反斜槓
python網路爬蟲實戰1 基礎篇
很多資料並沒有存在自家的資料庫中,在大資料時代,很多的資料都放在網路上,以網頁的形式呈現給大家。我們如何將這些沒有固定格式的非結構化資料批量從網路上拷貝下來,並提供給後來者進行資料價值的挖掘,是一件非常有意義的事情。這裡,我們必須借助etl extract,transformation,loadin...
Python爬蟲基礎 1
url uniform resource locator 統一資源定位符。採用url可以用一種統一的格式來描述各種資訊資源,包括檔案 伺服器的位址和目錄等。url的一般格式為 帶方括號的為可選項 protocol hostname port path parameters query fragmen...
Python爬蟲基礎1
python版本 3.6 編譯器 pycharm 系統 win 10 1 file new project create 2 右擊建立的專案 new python file 3 開始輸入 import urllib.request response urllib.request urlopen pr...