python正規表示式

2021-08-19 03:10:43 字數 1626 閱讀 1464

python1.5版本之後,增加了re模組,re模組提供了正規表示式的模式,使得python擁有了正規表示式的全部功能。

re.match(pattern,string,flags=0):嘗試從字串的起始位置,匹配某乙個模式。如果不是從起始位置匹配成功的話返回none。

引數:pattern:模式匹配的表示式

string:要匹配的字串

flags:標誌位,用來匹配正規表示式的匹配方式。分別有re.i(忽略大小寫匹配)、re.l(本地化識別)、re.s(匹配包括換行符在內的所有字元)、re.m(多行匹配,影響^和$)、re.u(根據unicode字符集解析字元,影響\w,\w,\b,\b)、re.x(以更靈活的方式理解正規表示式)

re.search(pattern,string,flags=0):掃瞄整個字串,並且返回第乙個成功的匹配。

引數:pattern:模式匹配的表示式

string:要匹配的字串

flags:標誌位,用來匹配正規表示式的匹配方式。分別有re.i(忽略大小寫匹配)、re.l(本地化識別)、re.s(匹配包括換行符在內的所有字元)、re.m(多行匹配,影響^和$)、re.u(根據unicode字符集解析字元,影響\w,\w,\b,\b)、re.x(以更靈活的方式理解正規表示式)

re.findall(pattern,string,flags=0):掃瞄整個字串,並且返回結果列表。

引數:pattern:模式匹配的表示式

string:要匹配的字串

flags:標誌位,用來匹配正規表示式的匹配方式。分別有re.i(忽略大小寫匹配)、re.l(本地化識別)、re.s(匹配包括換行符在內的所有字元)、re.m(多行匹配,影響^和$)、re.u(根據unicode字符集解析字元,影響\w,\w,\b,\b)、re.x(以更靈活的方式理解正規表示式)

re.finditer(psttern,string,flags=0):與findall()類似,返回乙個迭代器。

1.  .(點):匹配除了換行符之外的任意字元。[0123456789]:[ ]是字元集合,表示匹配方括號所包含的任意乙個字元。[a-z]、[a-z]、[0-9]分別表示匹配任意小寫字母、大寫字母、數字.也可以用[0-9a-za-z]匹配任意字母和數字。[^hello](^脫字元)表示匹配除了hello這幾個字母之外的所有字元。除此之外,還有\d匹配數字通[0-9]、\d匹配非數字字元,效果通[^0-9]、\w匹配字母數字和下劃線、\w:匹配非字母數字和下劃線\s:匹配任意的空白符(空格、換行、回車、換頁、製表),同[\f\n\r\t]、\s:匹配任意的非空白符,同[^\f\n\r\t]。

^:行首匹配

$:行尾匹配

print(re.search("li$","hell hell lli li"))

執行結果:<_sre.sre_match object; span=(14, 16), match='li'>

四、匹配多個字元

1.(xyz):匹配小括號裡面的xyz,把(xyz)當成整體去匹配。

2.x?:匹配0個或者乙個x

3.x*:匹配0個或者任意多個字元

4.x+:匹配至少乙個x

5.x:匹配確定的n個x(x是個非負整數)

6.x:匹配至少n個x(x是個非負整數)

7.x:匹配至少n個,至多m個x

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