基本語法正則表達式
元字符ide
轉義
凡是在正則表達式中有特殊意義的符號,轉義時使用\
重複
分組(捕獲)斷言
斷言不會佔用分組號
貪婪與非貪婪
默認貪婪模式,儘量多的匹配字符串
引擎選項
代碼 說明 舉例
IgnoreCase 匹配時忽略大小寫 re.Ire.IGNORECASE
Singleline 單行模式,可穿透/n re.Sre.DOTALL
Multiline 多行模式 re.Mre.MULTILINE
IgnorePatternWhitespace 忽略表達式中空白字符,若要使用空白字符 re.Xre.VERBOSE
Python中使用|(位或)運算開啓多種選項
Python正則表達式
re模塊
編譯
re.compile(pattern, flags=0)
返回正則表達式對象regex
正則表達式編譯的結果保存,下次使用一樣的pattern時不須要從新編譯
單次匹配
regex.match(string[, pos[, endpos]])
從字符串開頭匹配,可指定開始與結束位置 返回match對象
regex.search(string[, pos[, endpos]])
從頭搜索直到第一個匹配,可指定開始與結束位置 返回match對象
regex.fullmatch(string[, pos[, endpos]])
整個字符串與正則表達式匹配
全文搜索
regex.findall(string[, pos[, endpos]])
對整個字符串從左至右匹配,返回全部匹配項的列表
regex.finditer(string[, pos[, endpos]])
對整個字符串,從左至右匹配,返回全部匹配項的迭代器,每項都是match對象
匹配替換
regex.sub(replacement, string, count=0)
使用pattern對字符串string進行匹配,對匹配項用replacement替換
replacement能夠是string、bytes、function
regex.subn(replacement, string, count=0)
功能相似sub 返回一個元組 (new_string, number_of_subs_made)
分割字符串
regex.split(string, maxsplit=0)
返回列表
分組
使用(pattern)捕獲的數據放到組中
match類方法
group(N)
1-N時對應的分組 0但會整個匹配的字符串
若是使用了命名分組,可用group(name)方式取出
groups()
返回全部組的一個元組
groupdict()
返回全部命名分組的字典