python正則表達(dá)式之對(duì)號(hào)入座篇
一、定義
正則表達(dá)式是對(duì)字符串操作的一種邏輯公式,就是用事先定義好的一些特定字符、及這些特定字符的組合,組成一個(gè)“規(guī)則字符串”,這個(gè)“規(guī)則字符串”用來(lái)表達(dá)對(duì)字符串的一種過(guò)濾邏輯。如果找到了符合這樣一種規(guī)則的字符串,我們就說(shuō)匹配上了,否則匹配失敗。
二、匹配規(guī)則
1.語(yǔ)法規(guī)則
2.相關(guān)注解
a.反斜杠問題
假如你需要匹配文本中的字符"\",那么使用編程語(yǔ)言表示的正則表達(dá)式里將需要4個(gè)反斜杠"\\\\":前兩個(gè)和后兩個(gè)分別用于在編程語(yǔ)言里轉(zhuǎn)義成反斜杠,轉(zhuǎn)換成兩個(gè)反斜杠后再在正則表達(dá)式里轉(zhuǎn)義成一個(gè)反斜杠。其匹配過(guò)程如下:
| 字符 | 匹配過(guò)程 |
| \\\\abc | 為字符串實(shí)值取消反斜杠轉(zhuǎn)義 |
| \\abc | 為re.compile()取消反斜杠轉(zhuǎn)義 |
| \abc | 欲匹配的目標(biāo)字符串 |
為了解決輸入四個(gè)“\”的麻煩,我們可以使用python里的原生字符串(raw string),即在字符串前面加上r。如下:
import re print(re.search(r"\\abc","123\\abc"))
從上面可知,使用原生字符串就省去了從字符串實(shí)值到re編譯器的字符串轉(zhuǎn)義過(guò)程,而編譯器編譯的時(shí)候仍然要轉(zhuǎn)義。
b.貪婪匹配與非貪婪匹配
貪婪匹配:正則表達(dá)式一般趨向于最大長(zhǎng)度匹配,也就是所謂的貪婪匹配。如:
import re
print(re.match("ab.*c","abcdfghc"))
匹配的結(jié)果為整個(gè)字符串。而非貪婪匹配就是匹配到結(jié)果就好,最少地匹配字符。python默認(rèn)是貪婪模式;在量詞后面直接加上一個(gè)問號(hào)?就是非貪婪模式。
import re
print(re.match("ab.*?c","abcdfghc"))
這樣匹配的結(jié)果就是“abc”。
三、模塊和函數(shù)
re模塊
compile()編譯語(yǔ)法規(guī)則
match() 從字符串開頭位置開始匹配
search() 從字符串任意位置匹配到第一個(gè)符合規(guī)則的字符串
findall 以列表形式返回所有匹配到的字符串
finditer 以迭代器形式返回所有匹配到的字符串
split() 拆分字符串
group() 獲取匹配到的字符串的分組信息
四、特殊構(gòu)造的規(guī)則
總結(jié)
以上所述是小編給大家介紹的python正則表達(dá)式之對(duì)號(hào)入座篇,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
Python實(shí)現(xiàn)定時(shí)監(jiān)測(cè)網(wǎng)站運(yùn)行狀態(tài)的示例代碼
這篇文章主要介紹了Python實(shí)現(xiàn)定時(shí)監(jiān)測(cè)網(wǎng)站狀態(tài)的示例代碼,幫助大家更好的管理自己的網(wǎng)站,感興趣的朋友可以了解下2020-09-09
Python3通過(guò)chmod修改目錄或文件權(quán)限的方法示例
這篇文章主要介紹了Python3通過(guò)chmod修改目錄或文件權(quán)限的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06
matplotlib繪制兩點(diǎn)間連線的幾種方法實(shí)現(xiàn)
本文主要介紹了matplotlib繪制兩點(diǎn)間連線的幾種方法實(shí)現(xiàn),主要介紹了4種方法,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03
python機(jī)器學(xué)習(xí)Github已達(dá)8.9Kstars模型解釋器LIME
這篇文章主要為大家介紹了Github已達(dá)8.9Kstars的最佳模型解釋器LIME的使用示例及功能詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-11-11
Python使用gmplot創(chuàng)建動(dòng)態(tài)地圖可視化
gmplot 是一個(gè) Python 庫(kù),用于基于 Google Maps 的靜態(tài)地圖生成可視化,它提供簡(jiǎn)單的 API 來(lái)繪制標(biāo)記、路徑、熱力圖等地理信息數(shù)據(jù),本文給大家介紹了如何使用 gmplot 在 Python 中創(chuàng)建動(dòng)態(tài)地圖可視化,需要的朋友可以參考下2024-12-12
python數(shù)據(jù)可視化自制職位分析生成崗位分析數(shù)據(jù)報(bào)表
之前網(wǎng)上也有不少關(guān)于行業(yè)的分析數(shù)據(jù),今天我們就根據(jù)不同崗位,公司類型規(guī)模,學(xué)歷要求,薪資分布等來(lái)進(jìn)行分析,把職位分析功能集合封裝起來(lái),做成一個(gè)小工具分享給大家吧2021-09-09

