day16 re模組的使用

2021-10-25 00:22:45 字數 1389 閱讀 7347

「」「author:orange 「」」

re_str = re.

compile

(r'[a-za-z0-9]\d'

)正規表示式物件.fullmatch(字串)

print

(re_str.fullmatch(

'a123'))

re.fullmatch(正規表示式,字串)

print

(re.fullmatch(r'[a-za-z0-9]\d'

,'a123'

))

fullmatch(正則, 字串)

- 讓整個字串和正則進行匹配, 匹配失敗返回none,匹配成功返回匹配物件

match(正則, 字串)

- 讓字串的開頭和正則進行匹配,匹配失敗返回none

, 匹配成功返回匹配物件

匹配物件

result = re.match(r'(\d)([a-z])([a-z])'

,'54knmadsgngin'

)print

(result)

print

(result.group(

))

匹配物件.group() / 匹配物件.group(0) - 獲取整個正則匹配到的子串

匹配物件.group(n) - 獲取第n個分組匹配到的子串

匹配物件.span()

print(result.span())

print(result.span(2)) # (2, 5)

search(正則, 字串) - 在字串中查到第乙個滿足正則要求的子串,如果找到了返回匹配物件,找不到返回none

findall(正則, 字串) - 在字串中查詢所有滿足正則要求的子串, 返回值是列表, 列表中的

元素是字串,如果找不著返回列表

re.finditer(正則, 字串) - 獲取字串中所有滿足正則的子串, 返回值是迭代器, 迭代器中的元是匹配物件

有兩個或者兩個以上的分組: [(『sd』, 『236』), (『sd』, 『235』)]

print(re.findall(r』([a-z])(\d)』, 『asd2365as56d52z3ad5—dsd235』))

split(正則, 字串) - 將字串中滿足正則的子串作為切割點

sub(正則, 字串1, 字串2) - 將字串2中滿足正則的子串全部替換成字串1

print(re.split(r』\d+』, 『asd2365as56d52z3ad5—dsd235』))

print(re.sub(r』\d+』, 『+』, 『asd2365as56d52z3ad5—dsd235』))

re模組和物件導向day16

compile 正規表示式 編譯正規表示式,建立正規表示式物件1 fullmatch 正規表示式,字串 讓整個字串和正常則表示式進行匹配 2 match 正規表示式,字串 匹配字串開頭 如果匹配不到結果是none,如果匹配成功了,結果是匹配物件re str r d result match re s...

re模組使用

import re strdata python is the best language in the world match只能匹配以 開頭的子符串,第乙個引數是正則,第二個引數是需要匹配的字串 res re.match p strdata,re.i re.i引數表示忽略大小寫 res re.m...

RE模組使用

i mport reli re.match d 12821j128j312893j129 match方法,先使用正規表示式,然後傳入待查字串 print li 結果物件 sre.sre match object span 0,5 match 12821 ifli print li.group 獲得資...