python Re模組用法

2022-08-23 22:21:16 字數 2040 閱讀 6440

主要函式:match()、search()、compile()

compile 函式用於編譯正規表示式,生成乙個正規表示式( pattern )物件,供 match() 和 search() 這兩個函式使用。

語法格式為:

re.compile(pattern[, flags])
引數:

pattern = re.compile(r'\d+')                    # 用於匹配至少乙個數字

m = pattern.match('one12twothree34four', 3, 10) # 從'1'的位置開始匹配

>>> m.group(0)   # 可省略 0

'12'

>>> m.start(0)   # 可省略 0

3>>> m.end(0)     # 可省略 0

5>>> m.span(0)    # 可省略 0

(3, 5)

其中:

在字串中找到正規表示式所匹配的所有子串,並返回乙個列表,如果沒有找到匹配的,則返回空列表。

注意:match 和 search 是匹配一次 findall 匹配所有。

語法格式為:

findall(string[, pos[, endpos]])

引數:

#coding = utf-8 

​import re

pattern = re.compile(r'\d+')   # 查詢數字

result1 = pattern.findall('wintrysec 123 google 456')

result2 = pattern.findall('wintrysec123google456', 0, 10)

print(result1)

print(result2)

和 findall 類似,在字串中找到正規表示式所匹配的所有子串,並把它們作為乙個迭代器返回。

re.finditer(pattern, string, flags=0)

例子:

#coding=utf-8

​import re

it = re.finditer(r"\d+","12a32bc43jf3")

for match in it:

print (match.group() )

輸出結果:

12 

32 43

3

re.match 嘗試從字串的起始位置匹配乙個模式,如果不是起始位置匹配成功的話,match()就返回none

函式語法

re.match(pattern, string, flags=0)

函式引數說明:

引數描述

pattern

匹配的正規表示式

string

要匹配的字串。

flags

標誌位,用於控制正規表示式的匹配方式,如:是否區分大小寫,多行匹配等等

匹配成功re.match方法返回乙個匹配的物件,否則返回none。

我們可以使用group(num) 或 groups() 匹配物件函式來獲取匹配表示式。

匹配物件方法

描述group(num=0)

匹配的整個表示式的字串,group() 可以一次輸入多個組號,在這種情況下它將返回乙個包含那些組所對應值的元組。

groups()

返回乙個包含所有小組字串的元組,從 1 到 所含的小組號

re.search 掃瞄整個字串並返回第乙個成功的匹配

函式語法:

re.search(pattern, string, flags=0)

re.match只匹配字串的開始,如果字串開始不符合正規表示式,則匹配失敗,函式返回none;

而re.search匹配整個字串,直到找到乙個匹配

檢索和替換

擴充套件查詢

Python re 正則模組

有些字元比較特殊,它們和自身並不匹配,而是會表明應和一些特殊的東西匹配,或者它們會影響到 re 其它部分的重複次數,它們叫元字元。其中 m 和 n 是十進位制整數。該限定符的意思是至少有 m 個重複,至多到 n 個重複。舉個例子,a b 將匹配 a b a b 和 a b 它不能匹配 ab 因為沒有...

python re 模組小結

前言 本人環境windows 7 64 位,python2.7 re是什麼 regular expression縮寫,意為正規表示式,是 python 的眾多模組之一 re用途 從文字中有選擇的批量抽取想要的文字碎片 re型別 分為dfa 確定的有窮狀態自動機 和 nfa 非確定的有窮狀態自動機 r...

Python re正則模組

對於比較複雜的字串處理任務,需要依靠正規表示式。首先需要匯入 re 模組 import re常用的元字元 符號含義 匹配除 n 和 r 之外的任何單個字元。匹配字串開始位置 匹配字串結束位置 前面的元素重複0次,1次或多次 前面的元素重複0次或1次 前面的元素重複1次或多次 前面的元素出現了n次 前...