re模塊方法
res = re.match(regex, str) 匹配 返回正則對象
res.group() 獲取
re.search(regex,str) 查詢返會值 找到第一個就返回
re.findall(regex,str) 查詢 返回 所有符合的 以列表形式返回
re.sub(regex,newstr/func,str) 將符合的一個找到替換返回 原來的str 一種直接該值一種以參數(shù)形式傳入
re.split(regex,str) 切割
表示字符
. 一個任意字符除\n
【】 匹配里面的字符
\w 所有單詞字符 a-z A-Z 0-9 _下劃線
\W 非單詞字符
\s 所有空白占位符
\S 非空白占位符
\d 數(shù)字 0-9
\D 非數(shù)字
原始字符串
由于轉(zhuǎn)義字符串的原因 匹配時會有錯
字符串前面加r 可以變?yōu)樵甲址?/p>
表示數(shù)量
*0個或無限個 即可有可無
- 至少一個 或者無限
矢腻? 一個或沒有 0 or 1}
{m,n} m<= nums<=n
邊界
^ 以什么開頭放在要匹配的字符串最前面
$ 以什么結(jié)尾放在要匹配的字符串最后面
匹配分組
| 或 左右兩邊只要有一個匹配
()分組
\num num代表組號引用組號匹配的內(nèi)容
(?P<name>) 分組命名
(?P=name)引用分組名為name的
貪婪: 盡可能匹配多的
非貪婪:盡可能匹配少的
貪婪變非貪婪 通過持灰?號轉(zhuǎn)換