Python 正規表示式

2022-03-08 12:32:41 字數 2052 閱讀 7576

單字元匹配

字元匹配規則示例.

匹配任意乙個字元(除了換行:\n)

re.match("...", "ab") 

匹配[ ]中的任意乙個字元

re.match("1[34578]","18") 

\d匹配任意乙個數字字元,即0-9。\d = [0-9]

re.match("\d", "2") 

\d匹配任意乙個非數字字元。\d = [^0-9]

re.match("\d", "a") 

\s匹配任意乙個空白字元,相當於 [ \t\n\r\f\v]

re.match("\s", "\ta")

\s匹配任意乙個非空白字元,相當於 [^ \t\n\r\f\v]

re.match("\s", "\na") 

\w匹配數字、字母、下劃線中的任意乙個字元,相當於 [a-za-z0-9_]

re.match("\w", "_a") 

\w匹配非數字、字母、下劃線中的任意乙個字元,相當於 [^a-za-z0-9_]

re.match("\w", "1a") 

字元匹配規則示例*

匹配前乙個元字元出現0次或者多次,即可以有0次。

re.match("\d*", "123") 

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

re.match("\d+", "123") 

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

re.match("\d?", "1234abc") 

匹配前乙個元字元出現 m 次。

re.match("\d[a-z]", "1234abc") 

匹配前乙個元字元至少出現 m 次。

re.match("\d[a-z]", "1234abc") 

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

re.match("\d[a-z]", "1234abc") 

表示邊界

字元匹配規則示例^

匹配目標字串的開始位置,多行模式下匹配每一行的開始

$匹配目標字串的結束位置,多行模式下匹配每一行的結束

\b匹配乙個單詞的邊界。單詞邊界:數字字母下劃線和其它字元的交界位置為單詞的邊界

示例如下  

\b匹配非單詞的邊界。就是看單詞兩邊是不是數字字母下劃線。若是,即為非單詞邊界

示例如下 

\a匹配字串開始位置(^),忽略多行模式

\z匹配字串結束位置($),忽略多行模式

import re

list = re.findall(r"\bis\b", "this is a test")

print list # ['is'] is 左右兩邊都不是數字字母下劃線的只有乙個,即第二個is匹配成功(左右兩邊都是空格)。

list = re.findall(r"\bis\b", "this_is a test")

print list # is 左右兩邊都不是數字字母下劃線的沒有乙個。

原始字串

str = "\nabc"

print str # abc

str = "\\nabc"

print str # \nabc

str = r"\nabc"

print str # \nabc

import re

str = "\\nabc"

print str # \nabc

str = r"\nabc"

print str # \nabc

res = re.match("\\\\nabc", str)

print res.group(0) # \nabc

res = re.match(r"\\nabc", str)

print res.group(0) # \nabc

# str = "\\nabc" = r"\nabc"

python正規表示式元字元 正規表示式

字元 描述將下乙個字元標記為乙個特殊字元 或乙個原義字元 或乙個 向後引用 或乙個八進位制轉義符。例如,n 匹配字元 n n 匹配乙個換行符。序列 匹配 而 則匹配 匹配輸入字串的開始位置。如果設定了 regexp 物件的 multiline 屬性,也匹配 n 或 r 之後的位置。匹配輸入字串的結束...

Python 正規表示式

1.在python中,所有和正規表示式相關的功能都包含在re模組中。2.字元 表示 字串的末尾 如 road 則表示 只有當 road 出現在乙個字串的尾部時才會匹配。3.字元 表示 字元中的開始 如 road 則表示 只有當 road 出現在乙個字串的頭部時才會匹配。4.利用re.sub函式對字串...

Python正規表示式

學習python自然而然就不得不面對正規表示式這個難題。當初在沒有學習python之前,自己也曾經嘗試著學習過正規表示式,但是那時候感覺很麻煩,很難懂,結果就是不了了之。但是現在學習python我用的書是 python基礎教程 第二版 這本書中對re模組的講解很簡單易懂,內容不多但起碼把人領進門了,...