python正規表示式 第一章

2021-09-28 11:53:05 字數 2583 閱讀 5502

正規表示式包 re

re.search(pattern, string),其中pattern是字串形式提供的正規表示式,string是需要匹配的字串;

使用^和$測試string有pattern完整匹配

>>> re.search('[0123456799]',"2") != none

true

#只要有乙個匹配成功,就會返回true

>>> re.search('[0123456799]',"12") != none

true

>>> re.search('[0123456799]',"a2") != none

true

>>> re.search('[0123456799]',"2") != none

true

>>> re.search('[0123456799]',"a") != none

false

>>> re.search('^[0123456799]$',"1a") != none

false

範圍表示法

[x-y]表示x到y整個範圍內的字元

>>> re.search("^[0-9]$","2") !=none

true

>>> re.search("^[9-0]$","2") !=none

上面的字元會進行報錯,因為9比0 的ascii的值要大

>>> re.search("^[0-9a-fa-f]$","2") !=none

true

>>> re.search("^[0-9a-fa-f]$","c") !=none

true

>>> re.search("^[0-9a-fa-f]$","i") !=none

false

>>> re.search("^[0-9a-fa-f]$","i") !=none

false

也可以通過\xhex表示乙個字元,\x表示字首,hex表示字元對應的碼值(十六進製制數值),如所有的ascii字元對應的字元組就是[\x00-\x7f]

>>> re.search("^[\x00-\x7f]$","c") !=none

true

>>> re.search("^[\x00-\x7f]$","1") !=none

true

元字元與轉義

元字元包括[、 ]、$、^以及表示範圍的-

對於-來說,出現的位置不同,含義不同

>>> re.search("^[-09]$","-") !=none 表示匹配-,0,9

true

>>> re.search("^[0-9]$","-") !=none 表示匹配0到9的數值

false

>>> re.search("^[0\-9]$","3") !=none

false

>>> re.search("^[0\-9]$","-") !=none

true

排除型字元組

[^0-2][0-2] 表示匹配由兩個字元組成的字串,第乙個為0-2以外的所有字元(也包括標點符號),第二個為0-2之前的字元,

>>> re.search(r"^[^0-2][0-2]$","q2") !=none

true

>>> re.search(r"^[^0-2][0-2]$",",2") !=none

true

字元組簡記法

\d等價於[0-9],\d等價於[0-9]之外的所有字元,d表示單詞字元digit

\w等價於[0-9a-za-z],w表示「單詞字元(word)」

\s等價於[ \t\r\n\v\f](第乙個字元是空格),s表示單詞字元space,空白字元

>>> re.search(r"^\d$","8") != none

true

>>> re.search(r"^\d$","9") != none

true

>>> re.search(r"^\w$","9") != none

true

>>> re.search(r"^\w$",",") != none

false

>>> re.search(r"^\w$","a") != none

true

>>> re.search(r"^\s$"," ") != none

true

>>> re.search(r"^[\da-za-z]$","8") != none

true

>>> re.search(r"^[\da-za-z]$","a") != none

true

>>> re.search(r"^[\da-za-z]$","aad") != none

false

第一章 正規表示式

正規表示式是高階的文字模式匹配 抽取 或文字形式的搜尋和替換功能提供了基礎。正規表示式 簡稱regex 是由一些字元或特殊符號組成的字串,他們描述了模式的重複或表述多個字元,於是正規表示式能夠按照某一模式匹配一系列有相似特徵的字串。python使用re模組來支援正規表示式。符號描述 匹配0次或者多次...

python 核心程式設計》第一章 正規表示式

import rem re.match foo bar foo print m.group footype m.group strm.group 返回匹配的字串 pattern foo bar m re.match pattern,foobarfooooooook print m.group foo...

第一章 文字 re 正規表示式 多重匹配

1.3.3 多重匹配 到目前為止,示例模式都只是使用search 來查詢字面量文字字串的單個例項。findall 函式會返回輸入中與模式匹配而且不重疊的所有子串。import re text abbaaabbbbaaaaa pattern ab for match in re.findall pat...