正規表示式re模組

2021-10-12 15:53:40 字數 2011 閱讀 5802

正規表示式re模組

編譯正規表示式模式,返回乙個物件的模式。(可以把那些常用的正規表示式編譯成正規表示式物件,這樣可以提高一點效率。)

1、compile()

格式:re.compile(pattern,flags=0)

①.pattern: 編譯時用的表示式字串。

②.flags 編譯標誌位,用於修改正規表示式的匹配方式,如:是否區分大小寫,多行匹配等。常用的flags有:

執行如下:

2、match()

決定re是否在字串剛開始的位置匹配。//注:這個方法並不是完全匹配。當pattern結束時若string還有剩餘字元,仍然視為成功。想要完全匹配,可以在表示式末尾加上邊界匹配符』$』

格式:re.match(pattern, string, flags=0)

執行如下:

3、search()

格式:re.search(pattern, string, flags=0)

re.search函式會在字串內查詢模式匹配,只要找到第乙個匹配然後返回,如果字串沒有匹配,則返回none。

執行如下:

*:match和search一旦匹配成功,就是乙個match object物件,而match object物件有以下方法:

group() 返回被 re匹配的字串

start() 返回匹配開始的位置

end() 返回匹配結束的位置

span() 返回乙個元組包含匹配 (開始,結束) 的位置

group() 返回re整體匹配的字串,可以一次輸入多個組號,對應組號匹配的字串。

a. group()返回re整體匹配的字串,

b. group (n,m) 返回組號為n,m所匹配的字串,如果組號不存在,則返回indexerror異常

c.groups()groups() 方法返回乙個包含正規表示式中所有小組字串的元組,從 1 到所含的小組號,通常groups()不需要引數,返回乙個元組,元組中的元就是正規表示式中定義的組。

re.findall遍歷匹配,可以獲取字串中所有匹配的字串,返回乙個列表。

格式:re.findall(pattern, string, flags=0)

執行結果:

執行結果:

5、finditer()

搜尋string,返回乙個順序訪問每乙個匹配結果(match物件)的迭代器。找到 re 匹配的所有子串,並把它們作為乙個迭代器返回。

格式:re.finditer(pattern, string, flags=0)

執行結果:

按照能夠匹配的子串將string分割後返回列表。

可以使用re.split來分割字串,如:re.split(r』\s+』, text);將字串按空格分割成乙個單詞列表。

格式:re.split(pattern, string[, maxsplit])

maxsplit用於指定最大分割次數,不指定將全部分割。

執行結果:

7、sub()

使用re替換string中每乙個匹配的子串後返回替換後的字串。

格式:re.sub(pattern, repl, string, count)

執行結果:

re 正規表示式模組

import re 預定義字符集 d 數字 0 9 d 非數字 d s 空白字元 空格 t r n f v s 非空白字元 s w 單詞字元 a za z0 9 w 非單詞字元 w 匹配數量 匹配除換行符以外的任何單個字元 匹配前乙個字元0或無限次 盡可能多的匹配 盡可能少的進行匹配前邊的正規表示式...

正規表示式 re模組

re是python中的正規表示式模組,正則也是每個人程式設計之路上必備的基礎技能。這部落格希望即便從來沒接觸過的人看了也會使用正規表示式字元 含義.匹配除了換行符外的任何字元。可以用re.dotall來設定匹配任何字元,包括換行符 丨a丨b 表示正規表示式匹配a或者b 匹配輸入字串開始的位置,如果設...

re模組正規表示式

正規表示式 1 舉例 re校驗 import re while true phone number input 請輸入手機號碼 strip 需求 11位 開頭13 14 15 19 引數1 正規表示式 引數2 需要過濾的字串 代表 開頭 代表 結束 代表 或 13 14 可以獲取乙個值,判斷是否是1...