五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Python個(gè)人學(xué)習(xí)筆記 正則表達(dá)式(二)

2023-04-19 21:18 作者:ベレッタ  | 我要投稿

非標(biāo)記組

findall()用帶有組的表達(dá)式匹配時(shí),分組匹配的字符會(huì)被標(biāo)記,這會(huì)改變findall()函數(shù)的行為,使得僅會(huì)返回組里面的內(nèi)容,而不是整個(gè)表達(dá)式匹配的字符。

如果想獲取整個(gè)表達(dá)式匹配到的字符串,可以用括號(hào)把整個(gè)表達(dá)式變成一個(gè)組。

但這樣還會(huì)輸出組里面的組的內(nèi)容。

這時(shí)可以在組內(nèi)開頭加上 ?:?阻止組被標(biāo)記,從而創(chuàng)建一個(gè)不被標(biāo)記的組。


貪婪與回溯

正常情況下,正則表達(dá)式的匹配是貪婪的,且被一個(gè)表達(dá)式匹配過的字符不會(huì)再被后面的表達(dá)式匹配。貪婪表示盡可能匹配多的字符。

例如:

\( 匹配一個(gè)左括號(hào),.*會(huì)先直接匹配后面的所有字符 ngm) hhay (nhf)。但這樣 \) 就沒有字符匹配了,應(yīng)該會(huì)輸出False。

這時(shí)候就會(huì)回溯一個(gè)字符讓下一個(gè)表達(dá)式去匹配,如果失敗會(huì)再回溯,盡可能地匹配成功。

回溯后 .* 匹配 ngm) hhay (nhf ,右括號(hào)留給 \),于是返回True。


貪婪與非貪婪(懶惰)

還是上面的例子,貪婪匹配 .* 會(huì)直接匹配整個(gè)字符串。

但如果只想要匹配括號(hào)的內(nèi)容 (ngm)、(nhf),就需要在 *后面加上?實(shí)現(xiàn)非貪婪匹配。

這時(shí)候*匹配到下個(gè)表達(dá)式可匹配的字符后立即停止。

其他量詞的非貪婪模式:

{m}是精準(zhǔn)匹配,所以貪婪與非貪婪沒有區(qū)別,但也不是沒有非貪婪模式。



正向先行斷言與正向后行斷言

有些人打字喜歡在句尾加很多括號(hào),這樣匹配的話也會(huì)把這些括號(hào)也匹配進(jìn)去。

可以用正向先行斷言或正向后行斷言來判斷是不是所要的內(nèi)容。


正向后行斷言 (?<=表達(dá)式)

當(dāng)前位置之的內(nèi)容符合后行斷言里的表達(dá)式則匹配成功。


正向先行斷言 (?=表達(dá)式)

當(dāng)前位置之的內(nèi)容符合先行斷言里的表達(dá)式則匹配成功。


負(fù)向先行斷言與負(fù)向后行斷言

負(fù)向先行斷言 (?!表達(dá)式)

當(dāng)前位置之的內(nèi)容不符合先行斷言里的表達(dá)式則匹配成功。


負(fù)向后行斷言 (?<!表達(dá)式)

當(dāng)前位置之的內(nèi)容不符合先行斷言里的表達(dá)式則匹配成功。


①斷言里的表達(dá)式既不會(huì)被標(biāo)記也不會(huì)被匹配,只是用來判斷。

②后行斷言中的表達(dá)式必須是固定長(zhǎng)度的。

③多個(gè)斷言可以在同一個(gè)位置同時(shí)使用。



命名組

?P<name>加在括號(hào)內(nèi)、表達(dá)式前,可以給捕獲組命名。

用 group() 索引Match對(duì)象的組時(shí),也可以用組名來索引。


指定組也可以用組名來指定。

但是不能用組名來替換文本。


拆分字符串 re.split()

split()方法的正則表達(dá)式版。相當(dāng)于 replace() 的正則表達(dá)式版是 re.sub() 。

比起 split() 方法,可以一次同時(shí)處理有多種分隔符的情況。

第三個(gè)參數(shù)為可拆分次數(shù),參考 split() 方法。

第四個(gè)參數(shù)為功能標(biāo)志。



Python個(gè)人學(xué)習(xí)筆記 正則表達(dá)式(二)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
洛川县| 阳曲县| 盈江县| 西乌珠穆沁旗| 金阳县| 阳信县| 福清市| 玉门市| 西青区| 宣威市| 无为县| 怀安县| 保靖县| 故城县| 罗山县| 徐州市| 陕西省| 永靖县| 洪雅县| 万盛区| 尉氏县| 万全县| 丹阳市| 家居| 朝阳市| 垫江县| 眉山市| 蛟河市| 浠水县| 北流市| 平泉县| 宣威市| 淮南市| 肇东市| 虞城县| 纳雍县| 西宁市| 肃北| 含山县| 美姑县| 区。|