1.瞭解正則表達式
正則表達式是對字符串操做的一種邏輯公式,就是用事先定義好的一些特定字符、及這些特定字符的組合,組成一個「規則字符串」,這個「規則字符串」用來表達對字符串的一種過濾邏輯。python
正則表達式是用來匹配字符串很是強大的工具,在其餘編程語言中一樣有正則表達式的概念,Python一樣不例外,利用了正則表達式,咱們想要從返回的頁面內容提取出咱們想要的內容就易如反掌了。正則表達式
正則表達式的大體匹配過程是:
1.依次拿出表達式和文本中的字符比較,
2.若是每個字符都能匹配,則匹配成功;一旦有匹配不成功的字符則匹配失敗。
3.若是表達式中有量詞或邊界,這個過程會稍微有一些不一樣。編程
2.正則表達式的語法規則
下面是Python中正則表達式的一些匹配規則編程語言
20130515113723855分佈式
3.正則表達式相關注解
(1)數量詞的貪婪模式與非貪婪模式
正則表達式一般用於在文本中查找匹配的字符串。Python裏數量詞默認是貪婪的(在少數語言裏也多是默認非貪婪),老是嘗試匹配儘量多的字符;非貪婪的則相反,老是嘗試匹配儘量少的字符。例如:正則表達式」ab」若是用於查找」abbbc」,將找到」abbb」。而若是使用非貪婪的數量詞」ab?」,將找到」a」。ide
注:咱們通常使用非貪婪模式來提取。工具
(2)反斜槓問題
與大多數編程語言相同,正則表達式裏使用」\」做爲轉義字符,這就可能形成反斜槓困擾。假如你須要匹配文本中的字符」\」,那麼使用編程語言表示的正則表達式裏將須要4個反斜槓」\\」:前兩個和後兩個分別用於在編程語言裏轉義成反斜槓,轉換成兩個反斜槓後再在正則表達式裏轉義成一個反斜槓。學習
Python裏的原生字符串很好地解決了這個問題,這個例子中的正則表達式可使用r」\」表示。一樣,匹配一個數字的」\d」能夠寫成r」\d」。有了原生字符串,媽媽也不用擔憂是否是漏寫了反斜槓,寫出來的表達式也更直觀勒blog