正規表示式

2022-07-19 09:36:15 字數 2390 閱讀 4623

功能: 根據正規表示式匹配目標字串內容

引數:pattern 正規表示式

string 目標字串

flags 功能標誌位,擴充套件正規表示式的匹配

返回值: 匹配到的內容列表,如果正規表示式有子組則只能獲取到子組對應的內容

功能: 使用正規表示式匹配內容,切割目標字串

引數:pattern 正規表示式

string 目標字串

max 最多切割幾部分

flags 功能標誌位,擴充套件正規表示式的匹配

返回值: 切割後的內容列表

功能: 使用乙個字串替換正規表示式匹配到的內容

引數:pattern 正規表示式

replace 替換的字串

string 目標字串

count 最多替換幾處,預設替換全部

flags 功能標誌位,擴充套件正規表示式的匹配

返回值: 替換後的字串

生成match物件

功能: 根據正規表示式匹配目標字串內容

引數:pattern 正規表示式

string 目標字串

flags 功能標誌位,擴充套件正規表示式的匹配

返回值: 匹配結果的迭代器

功能:匹配某個目標字串開始位置

引數:pattern 正規表示式

string 目標字串

返回值:匹配內容match object

功能:匹配目標字串第乙個符合內容

引數:pattern 正規表示式

string 目標字串

返回值:匹配內容match object

match物件的方法

span() 

獲取匹配內容的起止位置

groupdict()

獲取 捕獲組 字典,組名為鍵,對應內容為值

group(n = 0)

功能:獲取match物件匹配內容

引數:預設為0表示獲取整個match物件內容,如果是序列號或者組名則表示獲取對應子組內容

返回值:匹配字串

字元功能.

匹配任意1個字元(除了\n)

[ ]匹配[ ]中列舉的字元

\d匹配數字,即0-9

\d匹配非數字,即不是數字

\s匹配空白,即 空格,tab鍵

\s匹配非空白

\w匹配單詞字元,即a-z、a-z、0-9、_

\w匹配非單詞字元

\b表示單詞邊界

\b表示非單詞邊界

字元功能

*匹配前乙個字元出現0次或者無限次,即可有可無

+匹配前乙個字元出現1次或者無限次,即至少有1次

?匹配前乙個字元出現1次或者0次,即要麼有1次,要麼沒有

匹配前乙個字元出現m次

匹配前乙個字元出現從m到n次

字元功能

^匹配字串開頭

$匹配字串結尾

貪婪模式: 預設情況下,匹配重複的元字元總是盡可能多的向後匹配內容。比如: * + ?

非貪婪模式(懶惰模式): 讓匹配重複的元字元盡可能少的向後匹配內容。

在對應的匹配重複的元字元後加 '?' 號即可

*  ->  *?

+ -> +?

? -> ??

-> ?

字元功能|

匹配左右任意乙個表示式

(ab)

將括號中字元作為乙個分組

\num

引用分組num匹配到的字串

(?p)

分組起別名

(?p=name)

引用別名為name分組匹配到的字串

作用函式:re模組呼叫的匹配函式。如:re.compile,re.findall,re.search....

功能:擴充套件豐富正規表示式的匹配功能

常用flag:

a == ascii  元字元只能匹配ascii碼

i == ignorecase 匹配忽略字母大小寫

s == dotall 使 . 可以匹配換行

m == multiline 使 ^ $可以匹配每一行的開頭結尾位置

注意:同時使用多個flag,可以用豎線連線 flags = re.i | re.a

正規表示式 正規表示式 總結

非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...

正規表示式 表示式

網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 interneturl a za z s 或 http w w w 手機號碼 13 0 9 14 5 7 15 0 1 2 3 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 號碼 x x x...

Linux正規表示式 編寫正規表示式

為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...