Python正規表示式簡記和re庫

2021-09-12 17:24:06 字數 2210 閱讀 1174

正規表示式是定義搜尋模式的字串行。通常這種模式被字串搜尋演算法用於字串上的「查詢」或「查詢和替換」操作,或者用於輸入驗證。
re庫是python的標準庫,主要用於字串匹配,呼叫方法:import re
re庫採用raw string型別來表示正規表示式,表示為

r'text'

raw string是不包含對轉義符的再次轉義的字串,總而言就是string會對字元轉義,而raw string不會,因為在正則表達中會出現轉義符號,所以避免繁瑣我們使用raw string

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

在乙個字串中搜尋正規表示式的第乙個位置,返回match物件

舉例說明:

import re

match = re.search(r'[1-9]\d', 'bit 100081')

if match:

print(match.group(0))

結果為100081

從乙個字串的開始位置起匹配正規表示式,返回match物件

引數同search函式

舉例說明:

import re

match = re.match(r'[1-9]\d', 'bit 100081')

print(match.group(0))

結果會報錯,match為空,因為match函式是

從字串開始位置開始匹配,因為從開始位置沒有匹配到,所以為空

搜尋字串,以列表型別返回全部能匹配的子串

引數同search

舉例說明:

import re

ls=re.findall(r'[1-9]\d', 'bit100081 tsu100084')

print(ls)

結果為['100081', '100084']

將乙個字串按照正規表示式匹配結果進行分割返回列表型別

舉例說明 :

import re

re.split(r'[1-9]\d', 'bit100081 tsu100084')

結果['bit', ' tsu', ' ']

re.split(r'[1-9]\d', 'bit100081 tsu100084', maxsplit=1)

結果['bit', ' tsu100081']

搜尋字串,返回乙個匹配結果的迭代型別,每個迭代元素是match物件

引數同search

舉例說明 :

import re

for m in re.finditer(r'[1-9]\d', 'bit100081 tsu100084'):

if m:

print(m.group(0))

結果為100081

100084

在乙個字串中替換所有匹配正規表示式的子串返回替換後的字串

舉例說明:

import re

re.sub(r'[1-9]\d', ':zipcode', 'bit100081 tsu100084')

結果為'bit:zipcode tsu:zipcode'

rst=re.search(r'[1-9]\d', 'bit 100081')

函式式的呼叫,一次性操作

pat=re.compile(r'[1-9]\d')

rst=pat.search('bit 100081')

編譯後多次操作

regex=re.complie(pattern,flags=0)

regex也有以上六種用法

match物件是是一次匹配的結果,包含匹配的很多資訊
以下是match物件的屬性

以下是match物件的方法

當正規表示式可以匹配長短不同的多項時,返回哪乙個呢?re庫預設採用貪婪匹配,即返回匹配最長的子串

最小匹配

只要長度輸出可能不同的,都可以通過在操作符後增加?變成最小匹配

正規表示式簡記

eg bhi b就只會匹配到hi,而不會匹配到hit或者this之類包含hi的字串 eg 如果要求你填寫的qq號必須為5位到12位數字時,可以使用 d 其中表明匹配次數必須大於等於5小於等於12,而因為使用了 和 所以輸入的整個字串都要用來和 d來匹配,也就是說整個輸入必須是5到12個數字 家族 預...

正規表示式的簡記

此表是從runoob.com摘抄下來,用來自己以後查詢相關匹配之用,順便能夠幫到大家最好,我只是個搬運工。正規表示式的總結 1 正規表示式是由普通字元 字母和數字 以及元字元組成的文字模式。模式描述在搜尋文字時要匹配的乙個或者多個字串。正規表示式作為乙個模板,將某個字元模式與所搜尋的字串進行匹配。正...

正規表示式r和re

coding utf 8 import re print a ws print r a nb r 一般用在正規表示式中,稱為原始字串,作用是將python語法中的反斜槓轉義給 取消,將其設定成為乙個普通的字串。可以解決python中的轉義字元和正規表示式中的轉義 字元之間的衝突問題。b python...