正規表示式是用來快速匹配字串的表達方式。
正規表示式的常用操作符:
操作符說明例項.
表示任何單個字元
字符集,對單個字元給出取值範圍
[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模組的講解很簡單易懂,內容不多但起碼把人領進門了,...