這篇文章給大家分享的是有關(guān)Python中正則表達(dá)式怎么用的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。
正則表達(dá)式的基本使用
re.match(r’xxx’, 匹配的字符串) 嘗試從字符串的起始位置匹配一個(gè)模式匹配成功re.match方法返回一個(gè)匹配的對(duì)象,否則返回None??梢允褂胓roup(num) 或 groups() 匹配對(duì)象函數(shù)來(lái)獲取匹配表達(dá)式,groups()返回的是一個(gè)元組。
使用正則表達(dá)式匹配單個(gè)字符
. 匹配任意1個(gè)字符(除了\n) re.S則可以匹配換行
re.I 表示大小寫不敏感
[a-c1-9 ] 匹配[ ]中列舉的字符
\d 匹配數(shù)字,即0-9
\D 匹配非數(shù)字,即不是數(shù)字
\s 匹配空白,即 空格,tab鍵
\S 匹配非空白
\w 匹配單詞字符,即a-z、A-Z、0-9、。默認(rèn)是re.U,即Unicode編碼,可以匹配中文,加上re.A即可指定ASCII編碼。[a-zA-Z0-9]
\W 匹配非單詞字符
使用正則表達(dá)式匹配多個(gè)字符
匹配前一個(gè)字符出現(xiàn)0次或者無(wú)限次,即可有可無(wú)
匹配前一個(gè)字符出現(xiàn)1次或者無(wú)限次,即至少有1次
? 匹配前一個(gè)字符出現(xiàn)1次或者0次,即要么有1次,要么沒(méi)有
{m} 匹配前一個(gè)字符出現(xiàn)m次
{m,n}匹配前一個(gè)字符出現(xiàn)從m到n次
{m,}匹配前一個(gè)字符出現(xiàn)m到無(wú)限次
匹配開(kāi)頭結(jié)尾邊界的使用
^ 匹配字符串開(kāi)頭 [^a]表示的是只要不是a
$ 匹配字符串結(jié)尾
匹配分組的使用
| 匹配左右任意一個(gè)表達(dá)式
(ab) 將括號(hào)中字符作為一個(gè)分組
\num 引用分組num匹配到的字符串 \1 \2
(?P<name>) 分組起別名
(?P=name) 引用別名為name分組匹配到的字符串
re高級(jí)函數(shù) search、findall、sub等的使用
re.search 掃描整個(gè)字符串并返回第一個(gè)成功的匹配。匹配成功re.search方法返回一個(gè)匹配的對(duì)象,否則返回None。可以使用group(num) 或 groups() 匹配對(duì)象函數(shù)來(lái)獲取匹配表達(dá)式。
re.findall
在字符串中找到正則表達(dá)式所匹配的所有子串,并返回一個(gè)列表,如果沒(méi)有找到匹配的,則返回空列表。
re.sub用于替換字符串中的匹配項(xiàng)
re.split 根據(jù)匹配進(jìn)行切割字符串,并返回一個(gè)列表
re.match與re.search的區(qū)別
re.match只匹配字符串的開(kāi)始,如果字符串開(kāi)始不符合正則表達(dá)式,則匹配失敗,函數(shù)返回None;而re.search匹配整個(gè)字符串,直到找到一個(gè)匹配。
貪婪和非貪婪的特點(diǎn)以及使用方式
Python里正則匹配默認(rèn)是貪婪的(在少數(shù)語(yǔ)言里也可能是默認(rèn)非貪婪),總是嘗試匹配盡可能多的字符;非貪婪則相反,總是嘗試匹配盡可能少的字符。在"*","?","+","{m,n}"后面加上?,使貪婪變成非貪婪
字符串前加r的作用
Python中字符串前面加上 r 表示原生字符串
感謝各位的閱讀!關(guān)于“Python中正則表達(dá)式怎么用”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!