一、常用字符
| 表達(dá)式 | 功能 | |
|---|---|---|
| 普通字符 | 匹配字符本身 | |
| . | 配任意除換行符"\n"外的字符 | |
| \w | 匹配字母、數(shù)字、下劃線、中文 | |
| \W | 匹配非字母、數(shù)字、下劃線、中文 | |
| \s | 匹配空白字符 | |
| \S | 匹配非空白字符 | |
| \d | 匹配數(shù)字字符 | |
| \D | 匹配非數(shù)字字符 | |
| \b | 檢測(cè)(當(dāng)前所在位置是否是)單詞邊界 | |
| \B | 檢測(cè)非單詞邊界 | |
| ^ | 檢測(cè)字符串開頭 | |
| $ | 檢測(cè)字符串結(jié)尾 | |
| [ ] | [字符集] | 匹配字符集中的任意一個(gè)字符 |
| [字符1-字符2] | 匹配字符1到字符2中所有的字符 | |
| 例: | [a-zA-Z\d_] | 數(shù)字字母下劃線 |
| [^字符集] | 匹配沒有在字符集中的其他任意字符 | |
| \ | 轉(zhuǎn)義符號(hào),使后一個(gè)字符改變?cè)瓉淼囊馑?/td> | |
| * | (貪婪) | 匹配前一個(gè)字符0次或多次 |
| + | (貪婪) | 匹配前一個(gè)字符1次或多次 |
| ? | (貪婪) | 匹配前一個(gè)字符0次或1次 |
| { } | {M,N}(貪婪) | 匹配前一個(gè)字符至少M(fèi)次到最多N次 |
| {M,}(貪婪) | 匹配前一個(gè)字符至少M(fèi)次 | |
| {,N}(貪婪) | 匹配前一個(gè)字符最多N次 | |
| {N} | 匹配前一個(gè)字符N次 | |
| | (分之) | 表達(dá)式1|表達(dá)式2|... | 依次將表達(dá)式匹配,直到成功,否則失敗 |
| ( ) (分組) | 將括號(hào)中的內(nèi)容看成一個(gè)整體 | |
| 分組重復(fù) | '\數(shù)字'重復(fù)前面第幾個(gè)分組匹配到的內(nèi)容 | |
| 貪婪? | 惰性 | 盡可能少的匹配 |
二、內(nèi)置函數(shù)
| 表達(dá)式 | 功能 | 返回值 |
|---|---|---|
| compile(pattern,flags=0) | 將正則轉(zhuǎn)換成正則對(duì)象 | 正則對(duì)象 |
| fullmatch(pattern, string, flags=0) | string與pattern完全匹配 | 匹配對(duì)象\None |
| match(pattern, string, flags=0) | string的開頭與pattern進(jìn)行匹配 | 匹配對(duì)象\None |
| search(pattern, string, flags=0) | 在string中去匹配出第一個(gè)符合pattern的子串 | 匹配對(duì)象\None |
| split(pattern, string, maxsplit=0, flags=0) | 將string按照滿足pattern要求的子串進(jìn)行切割 | 列表 |
| sub(pattern, repl, string, count=0, flags=0) | 將string中能夠和pattern匹配的子串替換成repl | 新字符串 |
| findall(pattern, string, flags=0) | 在string中獲取滿足pattern的所有子串(如有分組,只獲取分組中內(nèi)容; 如有多個(gè)分組,列表中的元素是元組) | 列表 |
| finditer(pattern, string, flags=0) | 在string中獲取滿足pattern的所有子串 | 迭代器 |
注:
pattern:正則表達(dá)式
string、repl:字符串
maxsplit:最大分割次數(shù)(下標(biāo)),默認(rèn)0:全部分割
count:替換的個(gè)數(shù)(前count個(gè)),默認(rèn)0:全部替換
flags:編譯標(biāo)志位
| 標(biāo)志(flags) | 功能 |
|---|---|
| re.I(IGNORECASE) | 忽略大小寫 |
| re.S(DOTALL) | 使.匹配包括換行在內(nèi)的所有字符 |
| re.M(MULTILINE) | 多行匹配,影響^和$ |
| re.U | 根據(jù)Unicode字符集解析字符,這個(gè)標(biāo)志影響\w,\W,\b,\B |