1. 正規表示式的基本使用
re.match(r』***』, 匹配的字串) 嘗試從字串的起始位置匹配乙個模式匹配成功re.match方法返回乙個匹配的物件,否則返回none。
可以使用group(num) 或 groups() 匹配物件函式來獲取匹配表示式,groups()返回的是乙個元組。
2. 使用正規表示式匹配單個字元
. 匹配任意1個字元(除了\n)re.s則可以匹配換行
re.i 表示大小寫不敏感
[a-c1-9 ] 匹配[ ]中列舉的任意乙個字元
\d 匹配數字,即0-9
\d 匹配非數字,即不是數字
\s 匹配空白,即 空格,tab鍵
\s 匹配非空白
\w 匹配單詞字元,即a-z、a-z、0-9、_。預設是re.u,即unicode編碼,可以匹配中文,加上re.a即可指定ascii編碼。[a- za-z0-9_]
\w 匹配非單詞字元
3. 使用正規表示式匹配多個字元
* 匹配前乙個字元出現0次或者無限次,即可有可無
+ 匹配前乙個字元出現1次或者無限次,即至少有1次
? 匹配前乙個字元出現1次或者0次,即要麼有1次,要麼沒有
匹配前乙個字元出現m次
匹配前乙個字元出現從m到n次
匹配前乙個字元出現m到無限次
4. 匹配開頭結尾邊界的使用
^ 匹配字串開頭 [^a]表示的是只要不是a
$ 匹配字串結尾
5. 匹配分組的使用
| 匹配左右任意乙個表示式
(ab) 將括號中字元作為乙個分組
\num 引用分組num匹配到的字串 \1 \2
(?p) 分組起別名
(?p=name) 引用別名為name分組匹配到的字串
6. re高階函式 search、findall、sub等的使用
re.search
掃瞄整個字串並返回第乙個成功的匹配。匹配成功
re.search
方法返回乙個匹配的物件,否則返回
none
。可以使用
group(num)
或groups()
匹配物件函式來獲取匹配表示式。
re.findall
在字串中找到正規表示式所匹配的所有子串,並返回乙個列表,如果沒有找到匹配的,則返回空列表。
re.sub
用於替換字串中的匹配項
re.split
根據匹配進行切割字串,並返回乙個列表
7. re.match與re.search的區別
re.match只匹配字串的開始,如果字串開始不符合正規表示式,則匹配失敗,函式返回none;而re.search匹配整個字串,直到找到乙個匹配。
8. 貪婪和非貪婪的特點以及使用方式
python裡正則匹配預設是貪婪的(在少數語言裡也可能是預設非貪婪),總是嘗試匹配盡可能多的字元;非貪婪則相反,總是嘗試匹配盡可能少的字元。在"*","?","+",""後面加上?,使貪婪變成非貪婪
9. 字串前加r的作用
python中字串前面加上 r 表示原生字串
正規表示式知識
字元描述 將下乙個字元標記為乙個特殊字元 或乙個原義字元 或乙個 向後引用 或乙個八進位制轉義符。例如,n 匹配字元 n n 匹配乙個換行符。序列 匹配 而 則匹配 匹配輸入字串的開始位置。如果設定了regexp物件的multiline屬性,也匹配 n 或 r 之後的位置。匹配輸入字串的結束位置。如...
python正規表示式知識彙總
首先在python中使用正規表示式得先導入re模組 importre re模組 在哪方面會用到正則 什麼是正則?能做什麼 正則規則 0 9 根據sacii進行範圍比對。a z a z 0 9 d 數字 字母 下劃線 w 0 9a za z 空白 t n 空格 t n s 元字元 匹配規則 分組的作用...
python中的正規表示式
正規表示式是一種用來匹配字串的強有力的 它的設計思想是用一種描述性的語言來給字串定義乙個規則,凡是符合規則的字串,我們就認為它 匹配 了,否則,該字串就是不合法的。因為正規表示式也是用字串表示的,所以,我們要首先了解如何用字元來描述字元。在正規表示式中,如果直接給出字元,就是精確匹配。用 d可以匹配...