首先 python為了書寫上的方便装畅,可以使用raw string井氢,這些禁止字符串轉(zhuǎn)義:
r"\n" 就是兩個字符而不是一個字符換行
\d 數(shù)字
\D 非數(shù)字
\s 所有空格字符 [ \t\n\r\f\v]
\S 匹配所有非空格字符 [^ \t\n\r\f\v]
\w 匹配所有文字 [a-zA-Z0-9_]
\W
a{1, 3}b 會匹配ab aab aaab
{0,} * 是有0個或多個的意思 可用星號簡寫
{1, } + 是一個或多個的意思 可用加號簡寫
{0, 1} ? 是0個或1個的意思 可用問號簡寫
使用
編譯
import re
p = re.compile('abc')
compile時可以傳遞參數(shù) 例如re.IGNORECASE
匹配
如果匹配成功返回的是match object颗管,這個match object包含四個方法:
group 匹配到的子字符串
start end span 開始柿扣、結(jié)束位置 和 兩者組成的tuple
match
僅從開頭處開始匹配
search
從任意位置開始匹配
findall
finditer
直接使用
re.match('pattern', 'searchstring')