python 正規表示式

2021-10-05 03:01:04 字數 1400 閱讀 7575

正規表示式是用來快速匹配字串的表達方式。

正規表示式的常用操作符:

操作符說明例項.

表示任何單個字元

字符集,對單個字元給出取值範圍

[abc]表示a、b、c,[a-z]表示a到z單個字元

[^]非字符集,對單個字元給出排除範圍

[^abc]表示非a或b或c的單個字元

*前乙個字元0次或無限次擴充套件

abc*表示ab、abc、abcc、abccc等

+前乙個字元1次或無限次擴充套件

abc+表示abc、abcc、abccc等

?前乙個字元0次或1次擴充套件

abc?表示ab、abc

|左右表示式任意乙個

abc|def表示abc、def

擴充套件前乙個字元m次

abc表示abbc

擴充套件前乙個字元m至n次(含n)

abc表示abc、abbc

^匹配字串開頭

^abc表示abc且在乙個字串的開頭

$匹配字串結尾

abc$表示abc且在乙個字串的結尾

()分組標記,內部自能使用|操作符

(abc)表示abc,(abc|def)表示abc、def

\d數值,等價於[0-9]

\w單詞字元,等價於[a-za-z0-9]

經典正規表示式例項:

^[a-za-z]+$                         由26個字母組成的字串

^[a-za-z0-9]+$                   由26個字母和數字組成的字串

^-?\d+$                                整數形式的字串

^[0-9]*[1-9][0-9]*$           正整數形式的字串

[\u4e00-\u9fa5]                 匹配中文字元

\d-\d|\d-\d     國內**號碼,010-12345678

推薦python當正規表示式包含《轉義符》時使用raw string

re庫的主要功能函式:

函式說明

re.search()

在乙個字串中搜尋匹配正規表示式的第乙個位置,返回match物件

re.match()

從乙個字串的開始位置起匹配正規表示式,返回match物件

re.findall()

搜尋字串,以列表型別返回全部能匹配的子串

re.split()

講乙個字串按照正規表示式匹配結果進行分割,返回列表型別

re.finditer()

搜尋字串,返回乙個匹配結果的迭代型別,每個迭代元素是match物件

re.sub()

在乙個字串中替換所有匹配正規表示式的子串,返回替換後的字串

記錄學習過程。

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