re庫使用教程(正規表示式詳解)

2021-10-23 19:59:01 字數 2205 閱讀 7074

python中使用正規表示式需要用到re庫

re為python的標準庫,無需另外安裝, 只需匯入即可

import re
raw string 型別(原生字串型別) 例如:r』[1-9]\d』

string 型別,(將斜槓表示為轉義字元) 例如 :』[1-9]\\d』

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

函式作用:在乙個字串中匹配正規表示式的第乙個位置,返回match物件

pattern:正規表示式的字串或原生字串

string:待匹配字串

flags:正規表示式使用時的控制標記

標記值說明re.i或re.ignorecase

或略正規表示式的大小寫,[a-z]能夠匹配小寫字元

re.m或re.multiline

正規表示式中的^操作符只匹配字串的最開始部分,使用該標記能夠將給定字串的每行當作匹配開始

re.s或 re.dotall

正規表示式中的.操作符能夠匹配除換行外的所有字元,使用該標記可以匹配所有字元

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

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

③re.findall(pattern,string ,flags=0)

函式作用:搜尋字串,以列表型別返回全部匹配的子串

④ re.splite(pattern,string ,maxsplit,flags=0)

函式作用: 將乙個字串按照正規表示式匹配結果分割,返回列表型別

maxsplit:最大分割數,剩餘部分作為最後乙個元素輸出

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

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

⑥re.sub(pattern,repl,string ,count=0,flags=0)

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

re.compile(pattern,flags=0)

pattern:正規表示式的字串或原生字串

lags:正規表示式使用時的控制標記

pat=re.

compile

('[1-9]\d'

)rst=pat.search(

'bit 100081'

)# 這裡的search可以換成上面的任何乙個函式

操作符

說明例項

.表示任何單個字元

[ ]字符集,對單個字元給出取值範圍

[abc]表示a、b、c、[a-z]表示a到z單個 字元

[^]非字符集,對單個字元給出排出範圍

[^abc]表示非a或b或c的單個字元

*前乙個字元0此或無限次擴充套件

abc*表示ab,abc,abcc等

+前乙個字元1次或無限次擴充套件

abc+表示abc,abcc等

?前乙個字元0次或1次擴充套件

abc?表示ab,abc

|表示表示式中任意乙個

abc|def表示abc、def

擴充套件前乙個字元m次

abc表示abbc

擴充套件前乙個字元m到n次(含n)

abc表示abc,abbc

^匹配字串開頭

^abc表示abc且在乙個字串的開頭

$匹配字串結尾

abc$ 表示abc且在乙個字串的結尾

()分組標記,內部只能使用「或」操作符

(abc)表示abc,(abc|def)表示abc、def

\d數字,等價於[0-9]

\d等價於 [^0-9]

\s任意乙個空白字元

\s任意乙個非空白字元

\w單詞字元,等價於[a-za-z0-9_]

\w等價於[^a-za-z0-9_]

正規表示式 re庫

1.正規表示式的概念 a.為什麼要用正則?用字串匹配也是可以的 startswith 方法用於檢查字串是否是以指定子字串開頭,如果是則返回 true,否則返回 false。如果引數 beg 和 end 指定值,則在指定範圍內檢查。endswith 方法用於判斷字串是否以指定字尾結尾,如果以指定字尾結...

Python的Re庫詳解(正規表示式)

先貼一篇很好的正規表示式博文 以及關於貪婪與懶惰匹配的博文 一.正規表示式的語法 1.正規表示式語法由字元和操作符構成。2.正規表示式的常用操作符 1 表示任何單個字元 2 字符集,對單個字元給出取值範圍 3 非字符集,對單個字元給出排除範圍 4 其哪乙個字元0次或無限次擴充套件 5 前乙個字元1次...

正規表示式 RE

最近一段時間在研究nginx的rewirte重寫機制,因此對re需要有一定的了解,看了想關的文章,因此自己來寫一篇類似總結性的的文章。基本來說,正規表示式是一種用來描述一定數量文字的模式。regex regular express。本文用 regex 來表示一段具體的正規表示式。一段文字就是最基本的...