1. 程式人生 > >資料提取——正則表示式的 re 模組

資料提取——正則表示式的 re 模組

什麼是正則表示式

正則表示式,又稱規則表示式,通常被用來檢索、替換那些符合某個模式(規則)的文字。

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

給定一個正則表示式和另一個字串,我們可以達到如下的目的:

給定的字串是否符合正則表示式的過濾邏輯(“匹配”);
通過正則表示式,從文字字串中獲取我們想要的特定部分(“過濾”)。
正則表示式1

正則表示式匹配規則

在這裡插入圖片描述

Python 的 re 模組

在 Python 中,我們可以使用內建的 re 模組來使用正則表示式。
有一點需要特別注意的是,正則表示式使用 對特殊字元進行轉義,所以如果我們要使用原始字串,只需加一個 r 字首,示例:

r'xxx\t\.\tpython'

re 模組的一般使用步驟如下:

1.使用 compile() 函式將正則表示式的字串形式編譯為一個 Pattern 物件
2.通過 Pattern 物件提供的一系列方法對文字進行匹配查詢,獲得匹配結果,一個 Match 物件。
3.最後使用 Match 物件提供的屬性和方法獲得資訊,根據需要進行其他的操作

compile 函式

compile 函式用於編譯正則表示式,生成一個 Pattern 物件,它的一般使用形式如下:

import re

# 將正則表示式編譯成 Pattern 物件
pattern = re.compile(r'\d+')

在上面,我們已將一個正則表示式編譯成 Pattern 物件,接下來,我們就可以利用 pattern 的一系列方法對文字進行匹配查找了。

Pattern 物件的一些常用方法主要有:
1.match 方法:從起始位置開始查詢,一次匹配
2.search 方法:從任何位置開始查詢,一次匹配
3.findall 方法:全部匹配,返回列表
4.finditer 方法:全部匹配,返回迭代器
5.split 方法:分割字串,返回列表
6.sub 方法:替換