日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

python正則表達(dá)式使用實例 正則表達(dá)式測試工具

大多數(shù)編程語言的正則表達(dá)式設(shè)計都師從Perl,所以語法基本相似,不同的是每種語言都有自己的函數(shù)去支持正則,今天我們就來學(xué)習(xí) Python中關(guān)于 正則表達(dá)式的函數(shù) 。

python正則表達(dá)式使用實例 正則表達(dá)式測試工具


re模塊主要定義了9個常量、12個函數(shù)、1個異常,每個常量和函數(shù)豬哥都會通過實際代碼案例講解,讓大家能更直觀的了解其作用!
注:為避免出現(xiàn)代碼格式錯亂,豬哥盡量使用代碼截圖演示哦 。
python正則表達(dá)式使用實例 正則表達(dá)式測試工具


re模塊簡介
聊到Python正則表達(dá)式的支持,首先肯定會想到re庫,這是一個Python處理文本的標(biāo)準(zhǔn)庫 。
標(biāo)準(zhǔn)庫的意思表示這是一個Python內(nèi)置模塊,不需要額外下載,目前Python內(nèi)置模塊大概有300個 。可以在這里查看Python所有的內(nèi)置模塊:
https://docs.python.org/3/py-modindex.html#cap-r
因為re是內(nèi)置模塊,所以不需要再下載,使用時直接引入即可:
import rere模塊官方文檔:
https://docs.python.org/zh-cn/3.8/library/re.html
re模塊庫源碼:
https://github.com/python/cpython/blob/3.8/Lib/re.py
python正則表達(dá)式使用實例 正則表達(dá)式測試工具


re模塊常量常量即表示不可更改的變量,一般用于做標(biāo)記 。
re模塊中有9個常量,常量的值都是int類型!
python正則表達(dá)式使用實例 正則表達(dá)式測試工具


上圖我們可以看到,所有的常量都是在RegexFlag枚舉類來實現(xiàn),這是在Python 3.6做的改版 。在Python 3.6以前版本是直接將常量寫在re.py中,使用枚舉的好處就是方便管理和使用!
python正則表達(dá)式使用實例 正則表達(dá)式測試工具


下面我們來快速學(xué)習(xí)這些常量的作用及如何使用他們,按常用度排序!
1. IGNORECASE語法:re.IGNORECASE 或簡寫為 re.I
作用:進(jìn)行忽略大小寫匹配 。
代碼案例:
python正則表達(dá)式使用實例 正則表達(dá)式測試工具


在默認(rèn)匹配模式下大寫字母B無法匹配小寫字母b,而在 忽略大小寫 模式下是可以的 。
2. ASCII語法:re.ASCII 或簡寫為 re.A
作用:顧名思義,ASCII表示ASCII碼的意思,讓w,W,b,B,d,D,sS只匹配ASCII,而不是Unicode 。
代碼案例:
python正則表達(dá)式使用實例 正則表達(dá)式測試工具


在默認(rèn)匹配模式下w+匹配到了所有字符串,而在ASCII模式下,只匹配到了a、b、c(ASCII編碼支持的字符) 。
注意:這只對字符串匹配模式有效,對字節(jié)匹配模式無效 。
3. DOTALL語法:re.DOTALL 或簡寫為 re.S
作用:DOT表示.,ALL表示所有,連起來就是.匹配所有,包括換行符n 。默認(rèn)模式下.是不能匹配行符n的 。
代碼案例:
python正則表達(dá)式使用實例 正則表達(dá)式測試工具


在默認(rèn)匹配模式下.并沒有匹配換行符n,而是將字符串分開匹配;而在re.DOTALL模式下,換行符n與字符串一起被匹配到 。
注意:默認(rèn)匹配模式下.并不會匹配換行符n
4. MULTILINE語法:re.MULTILINE 或簡寫為 re.M
作用:多行模式,當(dāng)某字符串中有換行符n,默認(rèn)模式下是不支持換行符特性的,比如:行開頭 和 行結(jié)尾,而多行模式下是支持匹配行開頭的 。

推薦閱讀