Python 正則表達(dá)式

1 正則表達(dá)式的介紹

正則表達(dá)式使用單個(gè)字符串來(lái)描述,匹配一系列符合某個(gè)句法規(guī)則的字符串
對(duì)字符串的檢索匹配和處理

2 python 正則表達(dá)式

python通過(guò)re模塊提供對(duì)正則表達(dá)式的支持

  1. 先將正則表達(dá)式的字符串形式編譯為Pattern實(shí)例
  2. 使用Pattern實(shí)例處理文本并獲得匹配結(jié)果
  3. 使用實(shí)例獲得信息,進(jìn)行其他操作
dd.PNG

字符:

一般字符 自身匹配 abc abc
. 匹配任意換行符"\n"以外的字符。
在DOALL模式下也能匹配換行符
a.c abc
\ 轉(zhuǎn)義字符 a\.c
a\\c
a.c
a\c
[...] 字符集??梢允荹abc]或[a-c]或[^abc]表示不是abc的其他字符 a[bcd]e abe
ace
ade

預(yù)定義字符集(可以寫在[...]中):

一般字符 自身匹配 abc abc
\d 數(shù)字:[0-9] a\dc a1c
\D 非數(shù)字:[^\d] a\Dc abc
\s 非空字符:[<空格>\t\r\f\v] a\sc a c
\S 非空白字符:[^\S] a\Sc abc
\w 單詞字符:[A-Za-z0-9] a\wc abc
\W 非單詞字符:[^\w] a\Wc a c

數(shù)量詞(用在字符或(......)之后):

一般字符 自身匹配 abc abc
* 匹配前一個(gè)字符0次或無(wú)限次 abc* ab
abccc
+ 匹配前一個(gè)字符1次或無(wú)限次 abc+ abc
abccc
? 匹配前一個(gè)字符0次或一次 ab? ab
abc
{m} 匹配前一個(gè)字符m次 ab{2}c abbc
{m,n} 匹配前一個(gè)字符m至n次
m和n可以省略
ab{1,2}c abc
abbc

邏輯、分組:

一般字符 自身匹配 abc abc
| 代表左右表達(dá)式任意匹配一個(gè),它總是先嘗試
匹配左邊的表達(dá)式,一旦成功匹配則跳過(guò)右邊的表達(dá)式
如果 | 沒有包括在括號(hào)中,則它的范圍是整個(gè)正則表達(dá)式
abc|def abc
def
(...) 將括起來(lái)的表達(dá)式做為分組,從表達(dá)式左邊開始每遇到,
一個(gè)分組的左邊括號(hào),編號(hào)+1。分組表達(dá)式做為一個(gè)整體,
可以后接數(shù)量詞。表達(dá)式中 | 僅在該組中有效
(abc){2}
a(123|456)c
abcabc
a456c

iLmsux(編譯選項(xiàng)指示):

re.I 忽略大小寫
re.L 使用預(yù)定字符類\w \w \b \B \s \S取決當(dāng)前區(qū)域設(shè)定
re.M 多行模式改變^和$的行為
re.S .任意匹配模式
re.U 使用預(yù)定義類\w \W \B \s \S \d \D 取決Unicode定義的字符屬性
re.X 詳細(xì)模式,可以多行,忽略空白字符,并且可以加入注釋

3 貪婪模式和非貪婪模式

正則表達(dá)式通常用于在文本中查找匹配的字符串。Python里的數(shù)量詞默認(rèn)是貪婪的,意思是總是嘗試匹配盡可能多的字符;非貪婪的則相反,總是嘗試匹配盡可能少的字符。
例如:
正則表達(dá)式"abc"如果用于查找"abbbc",將找到"abbb"。而如果使用非貪婪方法"ab?",將找到"a"。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 今日周六,和表姐帶著孩子們?nèi)ヅ懒撕健?兩個(gè)男孩相差三歲,哥哥比較愛說(shuō),小嘴不停的吧啦,當(dāng)然腦袋瓜子也轉(zhuǎn)的快,很多...
    春光里的小米閱讀 200評(píng)論 0 0
  • 7:30我按時(shí)到校門口值守,保衛(wèi)和學(xué)生會(huì)值日生也早早的在校門口值勤;學(xué)生佩戴好校校牌高興地進(jìn)入班級(jí)早讀; 7:40...
    可夫子0728閱讀 232評(píng)論 0 0
  • 『你拍我畫』攝影?手繪聯(lián)合活動(dòng) 照片要求 ①可參加活動(dòng)的照片類型:靜物類,植物類,動(dòng)物類,風(fēng)景類,人物類,其他類 ...
    小小何夕飯飯閱讀 1,489評(píng)論 2 4

友情鏈接更多精彩內(nèi)容