python 正規表示式

2021-08-19 05:30:29 字數 2041 閱讀 9397

@(deeplearning)

re.match:從字串的起始位置匹配乙個模式,如果匹配不成功,返回none。

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

## object.span(): 返回的是對應的索引。

re.search: 掃瞄整個字串並返回第乙個成功的匹配。

re.search(pattern, string, flags=0)
re.sub: 用於替換字串中的匹配項。

re.sub(pattern, repl, string, count=0, flags=0)

## repl: 替換的字串,也可為乙個函式。

## count: 模式匹配後替換的最大次數,預設0表示替換所有的匹配。

re.compile

re.compile(pattern[, flags])

import re

pattern = re.compile(r'\d+')

m = pattern.match('one12twothree34four', 3, 10)

print m.start() # 3

print m.end() # 5

print m.span() # (3, 5)

re.findall: 匹配所有滿足條件的子串,並返回乙個列表,如果沒有找到匹配的,則返回空列表。

re.findall(string[, pos[, endpos]])
re.finditer: 匹配所有滿足條件的子串,並返回乙個迭代器。

re.finditer(pattern, string, flags=0)
re.split: 根據pattern將字串分割後返回列表。

re.split(pattern, string[, maxsplit=0, flags=0])
flags : 可選,表示匹配模式:
re.i:忽略大小寫。

re.l:表示特殊字符集 \w, \w, \b, \b, \s, \s 依賴於當前環境。

re.m:多行模式。

re.s:即為.並且包括換行符在內的任意字元(.不包括換行符)。

re.u:表示特殊字符集 \w, \w, \b, \b, \d, \d, \s, \s 依賴於unicode字元屬性資料庫。

re.x:為了增加可讀性,忽略空格和 # 後面的注釋。

模式描述

^匹配字串的開頭。

$匹配字串的末尾。

.匹配任意字元,除了換行符。

[…]用來表示一組字元。例:[amk]匹配』a』,』m』或』k』。

[^…]

不在[…]中的字元。

*匹配0個或多個的表示式。

+匹配1個或多個的表示式。

?匹配0個或1個由前面的正規表示式定義的片段,非貪婪方式。

精確匹配n個前面表示式。

匹配n到m次由前面的正規表示式定義的片段,貪婪方式。

a|b匹配a或b。

(re)

匹配括號內的表示式。

\w匹配字母數字及下劃線。等價於[a-za-z0-9_]。

\w匹配非字母數字及下劃線。等價於[^a-za-z0-9_]。

\s匹配任意空白字元,等價於[\t\n\r\f]。

\d匹配任意數字,等價於[0-9]。

\d匹配任意非數字。

\b匹配乙個單詞邊界。

\b匹配非單詞邊界。

(?: re)

類似(…),但是不表示乙個組。

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模組的講解很簡單易懂,內容不多但起碼把人領進門了,...