python之正規表示式常用

2022-07-08 01:27:09 字數 2355 閱讀 9852

普通字元

匹配自身

.匹配任意除換行符"\n"外的字元

\轉義字元,使後乙個字元改變原來的意思

編譯正規表示式模式,返回乙個物件的模式。對正規表示式使用較多的場景推薦使用,後續可以直接拿編譯出來的物件使用,大大提高效率

re.compile(pattern,flags=0)

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

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

標誌含義

re.s(dotall)

使.匹配包括換行在內的所有字元

re.i(ignorecase)

使匹配對大小寫不敏感

re.l(locale)

做本地化識別(locale-aware)匹配,法語等[上傳失敗...(image-91029d-1534672693398)]

re.m(multiline)

多行匹配,影響^和$

re.x(verbose)

該標誌通過給予更靈活的格式以便將正規表示式寫得更易於理解

re.u

根據unicode字符集解析字元,這個標誌影響\w,\w,\b,\b

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

re.match(pattern, string, flags=0)

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

re.search(pattern, string, flags=0)

re.match只匹配字串的開始,如果開頭不符合正規表示式,則匹配失敗,函式返回none;

re.search匹配整個字串,直到找到乙個匹配成功

match和search函式在成功時返回匹配物件,失敗時返回none,返回物件有一下方法:

groups() 返回被 re 匹配的字串,以tuple的形式

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

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

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

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

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

re.findall(pattern, string, flags=0)

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

re.finditer(pattern, string, flags=0)

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

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

re.split(pattern, string[, maxsplit])

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

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

re.sub(pattern, replace, string, count)

replace是替換後的字串

count指替換個數。預設為0,表示每個匹配項都替換。

返回替換次數

subn(pattern, repl, string, count=0, flags=0)

str = re.search('\d+','1234567')

print (str.group())

>>> 1234567

非貪婪模式

str = re.search('\d+?','1234567')

print (str.group())

>>> 1

加?表示只匹配0次或者1次

參考:

正規表示式 常用正規表示式

一 校驗數字的表示式 1 數字 0 9 2 n位的數字 d 3 至少n位的數字 d 4 m n位的數字 d 5 零和非零開頭的數字 0 1 9 0 9 6 非零開頭的最多帶兩位小數的數字 1 9 0 9 0 9 7 帶1 2位小數的正數或負數 d d 8 正數 負數 和小數 d d 9 有兩位小數的...

正規表示式 常用正規表示式

網域名稱 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 4 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 或者 1 3...

正規表示式常用

正規表示式的介紹 1 資料型別 基本資料型別 number string boolean null undefined 複雜資料型別 array function object math date regexp正規表示式 string number boolean 2 regular express...