在這裡插入**片
re.compile(pattern, flags=0)
操作符說明例項.
表示任何單個字元
字符集,對單個字元給出取值範圍
[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_]
函式說明
re.search
在乙個字串中搜尋匹配著呢規則表示式的第乙個位置,返回match物件
re.match
從乙個字串的開始位置起匹配正規表示式,返回match物件
re.findall
搜尋字串,以列表型別返回全部能匹配的字串
re.split
將乙個字串按照正規表示式匹配的結果進行分割,返回列表型別
re.finditer
搜尋字串,返回每乙個結果的迭代型別,每個迭代元素是match物件
re.sub
在乙個字串中替換所有匹配正規表示式的子串,返回替換後的字串
re.compile
生成乙個pattern物件
import re
m = re.search(r"[1-9]\d"
,"bit 100065 mar 100111"
)
import re
pattern = re.
compile
(r"[1-9]\d"
)m = pattern.search(
"bit 100065 mar 100111"
)
屬性
說明.string
待匹配的文字
.re匹配時使用的pattern物件(正規表示式)
.pos
正規表示式搜尋文字的開始位置
.endpos
正規表示式搜尋文字的結束位置
方法說明
.group(0)
獲得匹配後的字串
.start()
匹配字串在原始字串的開始位置
.end()
匹配字串在原始字串的結束位置
.span()
返回(.start(), .end())
import re
match = re.search(r"py.*n"
,"pyanbn***n"
)print
(match.group(0)
)
pyanbn***n
import re
match = re.search(r"py.*?n"
,"pyanbn***n"
)print
(match.group(0)
)
pyn
操作符說明
*?前乙個字元0次或無限次擴充套件,最小匹配
+?前乙個字元1次或無限次擴充套件,最小匹配
??前乙個字元0次或1次擴充套件,最小匹配
?擴充套件前乙個字元m到n次(含n),最小匹配
+?前乙個字元1次或無限次擴充套件,最小匹配
??前乙個字元0次或1次擴充套件,最小匹配
?擴充套件前乙個字元m到n次(含n),最小匹配
正規表示式用法
正規表示式的概念 什麼是 什麼是正規表示式?是html的乙個變種。一般情況下,論壇不允許你使用 而只能用 替代 是一套由流行的 標籤組成了固定 有統一的格式。使用者只要遵循 規則就可以實現使用者想要的功能。如 想要顯示粗體的how are you 字樣,就應該輸入 how are you而不是輸入h...
正規表示式用法
乙個正規表示式就是由普通字元 例如字元 a 到 z 以及特殊字元 稱為元字元 組成的文字模式。該模式描述在查詢文字主體時待匹配的乙個或多個字串。正規表示式作為乙個模板,將某個字元模式與所搜尋的字串進行匹配。將下乙個字元標記為乙個特殊字元 或乙個原義字元 或乙個 後向引用 或乙個八進位制轉義符。例如,...
正規表示式用法
1 正規表示式 理解 1 就是符合一定規則的字串 2 常見規則 a 字元 x 字元 x。舉例 a 表示字元a 反斜線字元。n 新行 換行 符 u000a r 回車符 u000d b 字元類 abc a b 或 c 簡單類 abc 任何字元,除了 a b 或 c 否定 a za z a到 z 或 a到...