国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(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ó)家法律
乳山市| 许昌县| 渝中区| 文成县| 民乐县| 上栗县| 襄汾县| 池州市| 双流县| 海门市| 盘锦市| 彰化市| 谢通门县| 通辽市| 镇沅| 会宁县| 六盘水市| 广汉市| 宜阳县| 建平县| 高清| 德江县| 曲阜市| 阳高县| 建水县| 江华| 资源县| 大洼县| 灵璧县| 满城县| 周口市| 衡南县| 庆阳市| 恭城| 元江| 崇礼县| 会同县| 平凉市| 林周县| 清水河县| 广东省|