字符 | 功能 |
---|---|
. | 匹配任意1個(gè)字符(除了\n) |
[ ] | 匹配[ ]中列舉的字符 |
\d | 匹配數(shù)字淹辞,即0-9 |
\D | 匹配非數(shù)字俘侠,即不是數(shù)字 |
\s | 匹配空白蔬将,即 空格,tab鍵 |
\S | 匹配非空白 |
\w | 匹配單詞字符惫东,即a-z、A-Z廉沮、0-9、_ |
\W | 匹配非單詞字符 |
* | 匹配前一個(gè)字符出現(xiàn)0次或者無限次滞时,即可有可無 |
+ | 匹配前一個(gè)字符出現(xiàn)1次或者無限次,即至少有1次 |
? | 匹配前一個(gè)字符出現(xiàn)1次或者0次坪稽,即要么有1次,要么沒有 |
{m} | 匹配前一個(gè)字符出現(xiàn)m次 |
{m,n} | 匹配前一個(gè)字符出現(xiàn)從m到n次 |
^ | 匹配字符串開頭 |
$ | 匹配字符串結(jié)尾 |
| | 匹配左右任意一個(gè)表達(dá)式 |
(ab) | 將括號(hào)中字符作為一個(gè)分組 |
\num | 引用分組num匹配到的字符串 |
(?P<name>) | 分組起別名 |
(?P=name) | 引用別名為name分組匹配到的字符串 |
《《《eg.py》》》
import re
re.search(r"\d+", "閱讀次數(shù)為 9999")
ret.group()
ret = re.findall(r"\d+", "python = 666, c = 668, c++ = 7541") #匹配所有的
print(ret)
ret = re.sub(r"\d+", '998', "python = 997") # sub 將匹配到的數(shù)據(jù)進(jìn)行替換
print(ret)
#split 根據(jù)匹配進(jìn)行切割字符串黍判,并返回一個(gè)列表
ret = re.split(r":| ","info:python 33 北京")
print(ret)
Python中字符串前面加上 r 表示原生字符串
>>> ret = re.match("c:\\\\a",mm).group()
>>> print(ret)
c:\a
>>> ret = re.match(r"c:\\a",mm).group()
>>> print(ret)
c:\a