国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

腳本之家,腳本語言編程技術(shù)及教程分享平臺!
分類導(dǎo)航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務(wù)器之家 - 腳本之家 - Python - Python 正則表達式的高級用法

Python 正則表達式的高級用法

2020-09-13 11:39Python教程網(wǎng) Python

作為一個概念而言,正則表達式對于Python來說并不是獨有的。但是,Python中的正則表達式在實際使用過程中還是有一些細小的差別。本文是一系列關(guān)于Python正則表達式文章的其中一部分。

對于Python來說,學(xué)習(xí)正則就要學(xué)習(xí)模塊re的使用方法。本文將展示一些大家都應(yīng)該掌握的高級技巧。

編譯正則對象

re.compile函數(shù)根據(jù)一個模式字符串和可選的標志參數(shù)生成一個正則表達式對象。該對象擁有一系列方法用于正則表達式匹配和替換。用法上略有區(qū)別,舉個例子, 匹配一個字符串可用如下方式:

如果使用compile,將變成:

為什么要這么用呢?其實就是為了提高正則匹配的速度,重復(fù)利用正則表達式對象。我們對比一下2種方式的效率:

Python 正則表達式的高級用法

可以看到第二種方式要快很多。在實際的工作中你會發(fā)現(xiàn)越多的使用編譯好的正則表達式對象,效果就越好。

分組(group)

你可能已經(jīng)見過對匹配的內(nèi)容進行分組的用法了:

Python 正則表達式的高級用法

通過對要匹配的對象添加括號,就可以精確的對應(yīng)符合的結(jié)果了。我們還可以進行嵌套的分組:

Python 正則表達式的高級用法

分組可以滿足需求,但是有時候可讀性很差,那可以對分組進行命名:

Python 正則表達式的高級用法

現(xiàn)在可讀性就非常高了。

字符串匹配

學(xué)過sed的同學(xué)可能見過如下替換用法:

這個\1表示前面正則匹配到的結(jié)果。上面的sed也就是給匹配到的結(jié)果加上中括號。

在re模塊中也存在這樣的用法:

Python 正則表達式的高級用法

用命名分組也是可以的:

Python 正則表達式的高級用法

附近匹配(Look around)

re模塊也支持附近匹配,看看例子就懂了:

Python 正則表達式的高級用法

正則匹配的時候使用函數(shù)

之前我們看到的大部分內(nèi)容都是匹配的是一個表達式,但是有時候需求要復(fù)雜得多,尤其是在替換的時候。

舉個例子,通過Slack的API能獲取聊天記錄,比如下面這句:

其中<@U1EAT8MG9>和<@U0K1MF23Z>是2個真實的用戶,但是被Slack封裝了,需要通過其他接口獲取這個對應(yīng)關(guān)系,

其結(jié)果類似這樣:

在解析對應(yīng)關(guān)系之后,還希望吧尖括號也去掉,替換后的結(jié)果是「@xiaoming, @laolin 嗯 確實是這樣的 」

用正則怎么實現(xiàn)呢?

Python 正則表達式的高級用法

所以pattern當(dāng)然也可以是一個函數(shù)

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 最好看的2019年中文在线观看 | 日本中文字幕在线观看 | 中文字幕在线精品 | 国产精品免费一区 | 中文字幕高清视频 | 日本黄色a视频 | 视频一区在线播放 | 欧美日韩精品一区二区三区 | 国产精品日产欧美久久久久 | 国产在线一区二区三区 | 88tv成人| 日韩视频在线一区二区 | 亚洲免费观看 | 欧美91看片特黄aaaa | 午夜视频在线播放 | 综合另类 | 国产亚洲精品美女久久久久久久久久 | 激情久久久久 | av超碰 | 国产999精品久久久久 | 国产视频三区 | 久久99精品久久久久久6194 | 久色| 国产精品国产三级国产aⅴ9色 | 精品不卡 | 国产精品视频一区二区三区不卡 | 亚洲精品一区二区三区在线观看 | 欧美日韩不卡在线 | 91麻豆精品国产91久久久资源速度 | 一区二区三区免费在线观看 | 国产欧美一区二区精品久久 | 欧美一区二区三区 | 免费观看一级毛片 | 欧美激情一区二区三区 | 午夜精品福利在线观看 | 亚洲成av人片在线观看无码 | 成人精品视频在线观看 | 午夜精品在线 | 亚洲午夜视频在线观看 | 国产亚洲一区二区精品 | 91精选视频在线观看 |