python的學(xué)習(xí)筆記12

正則表達(dá)式

正則表達(dá)式的作用就是檢查輸入的字符串是否與某種模式相匹配。

1、函數(shù)

基本語句及釋義

(1)re.match(pattern, string, flags=0) :從字符串的起始位置匹配一個(gè)模式,如果不是起始位置匹配成功的話,match() 就返回 none

(2)re.search(pattern, string, flags=0):掃描整個(gè)字符串并返回第一個(gè)成功的匹配

(3)re.sub(pattern, repl, string, count=0, flags=0) :用于替換字符串中的匹配項(xiàng)

(4)re.compile(pattern, flags]) compile函數(shù):用于編譯正則表達(dá)式,生成一個(gè)正則表達(dá)式(Pattern)對(duì)象,供match()和search()這兩個(gè)函數(shù)使用。

(5)re.findall(string,pos, endpos): 在字符串中找到正則表達(dá)式所匹配的所有子串,并返回一個(gè)列表,如果有多個(gè)匹配模式,則返回元組列表,如果沒有找到匹配的,則返回空列表。

(6)re.split(pattern, string, maxsplit=0, flags=0) :按照能夠匹配的子串將字符串分割后返回列表

一些常見的修飾符及相關(guān)描述:

re.I 使匹配對(duì)大小寫不敏感

re.L 做本地化識(shí)別(locale-aware)匹配

re.M 多行匹配,影響 ^ 和 $

re.S 使 . 匹配包括換行在內(nèi)的所有字符

re.U 根據(jù)Unicode字符集解析字符。這個(gè)標(biāo)志影響 \w, \W, \b, \B.

re.X 該標(biāo)志通過給予你更靈活的格式以便你將正則表達(dá)式寫得更易于理解。

1.1 re.match函數(shù)

輸出結(jié)果為:

1.2 re.search 函數(shù)

輸出結(jié)果為:

search()函數(shù)和match()的使用方法類似,唯一的區(qū)別就是match()函數(shù)只能從字符串的開始位置匹配成功才返回匹配對(duì)象,否則為None,而search()可以從任意位置匹配,直到第一次匹配到。

1.3 re.sub 函數(shù)

輸出結(jié)果為:

1.4 re.compile 函數(shù)

輸出結(jié)果為:

1.5 re.findall 函數(shù)

輸出結(jié)果為:

1.6 re.spilt函數(shù)

輸出結(jié)果為:

2、正則表達(dá)的運(yùn)用

2.1匹配電話號(hào)碼

其中:聯(lián)通號(hào)碼開頭一般為:130 131 132 145 146 155 156 166 167 171 175 176 185 186 196

電信號(hào)碼的開頭一般為: 133 149 153 173 174 177 180 181 189 191 193 199

移動(dòng)號(hào)碼的格式有:

134 135 136 137 138 139 147 148 150 151 152 157 158 159 172 178 182 183 184 187 188 195 198以聯(lián)通的檢驗(yàn)語句為例:“^13[0-2]|14[56]|15[56]|16[67]|17[156]|18[56]|196\d{8}$”:以13開頭的有130,131,132,“|”這個(gè)符號(hào)的意思為或者,以此后面的意思為14開頭的有145,146,以此類推。

2.2 匹配qq號(hào)碼

?著作權(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)容