初探:正則表達式,說真的其實我也討厭學這個……

1.瞭解正則表達式

正則表達式是對字符串操作的一種邏輯公式,就是用事先定義好的一些特定字符、及這些特定字符的組合,組成一個“規則字符串”,這個“規則字符串”用來表達對字符串的一種過濾邏輯。

正則表達式是用來匹配字符串非常強大的工具,在其他編程語言中同樣有正則表達式的概念,Python同樣不例外,利用了正則表達式,我們想要從返回的頁面內容提取出我們想要的內容就易如反掌了。

正則表達式的大致匹配過程是:

1.依次拿出表達式和文本中的字符比較,

2.如果每一個字符都能匹配,則匹配成功;一旦有匹配不成功的字符則匹配失敗。

3.如果表達式中有量詞或邊界,這個過程會稍微有一些不同。

2.正則表達式的語法規則

下面是Python中正則表達式的一些匹配規則,圖片資料來自CSDN

初探:正則表達式,說真的其實我也討厭學這個……

3.正則表達式相關注解

(1)數量詞的貪婪模式與非貪婪模式

正則表達式通常用於在文本中查找匹配的字符串。Python裡數量詞默認是貪婪的(在少數語言裡也可能是默認非貪婪),總是嘗試匹配儘可能多的字 符;非貪婪的則相反,總是嘗試匹配儘可能少的字符。例如:正則表達式”ab*”如果用於查找”abbbc”,將找到”abbb”。而如果使用非貪婪的數量 詞”ab*?”,將找到”a”。

注:我們一般使用非貪婪模式來提取。

(2)反斜槓問題

與大多數編程語言相 同,正則表達式裡使用”\”作為轉義字符,這就可能造成反斜槓困擾。假如你需要匹配文本中的字符”\”,那麼使用編程語言表示的正則表達式裡將需要4個反 斜槓”\\\\”:前兩個和後兩個分別用於在編程語言裡轉義成反斜槓,轉換成兩個反斜槓後再在正則表達式裡轉義成一個反斜槓。


分享到:


相關文章: