使用正規表示式,只需要記住乙個「套路」,如下圖,然後慢慢延申即可。
首先python中需要引入re模組 才能使用正規表示式
我們只需要記住re.match後面匹配的括號中,第乙個欄位是你想要匹配篩選得到的東西,第二個字段是從哪個字串中匹配
看下圖,還要記住,只要re.match有返回值,那麼就是匹配到了,如果沒有匹配值就是沒有匹配到。
事實上,re.match只是re功能函式中的乙個,表示從頭匹配,我們用的最多的是re.search()從整個字串匹配
re.search()只返回第乙個匹配到的結果
我們用的比較多的還有re.findall() 以列表的形式 返回所有匹配到的結果
不太理解可以看下面的示例
了解以上的基礎,然後下面總結一下正則中常用的匹配規則。
下面使用上面規則由淺入深舉一些例子,讀者如果是剛接觸正則,可以跟著寫寫對應**
1.』.』 匹配除\n外的任意乙個字元
我們可以使用 + 表示向後匹配多個字元,後面也會說到
2.[a-z]匹配任意小寫字母
3.[0-9]匹配數字 表示匹配前面字元5次 表示匹配前面字元 2-5次
4.re.findall() ,上面的re.search()只返回第一次匹配到的結果,我們可以使用re.findall() 以列表形式返回所有匹配到的結果
還有乙個注意點,我們用re.match()或re.search()時 都可以用group()方法得到匹配到的值,用re.findall()就沒有group()方法了。
5.』|』 , 或 的意思
6.(…) 分組匹配
看下圖,不加括號表示 c匹配2次;加了括號表示括號中的 abc 整體匹配2次
7.上面說到[0-9]可以表示數字,\d同樣可以表示數字
\d表示匹配非數字
8.\w 匹配 [a-za-z0-9] 即 所有帶字母與數字的
\w匹配非[a-za-z0-9]的,也就是只匹配非特殊字元
9.『\s』 匹配空白字元(換行符,tab鍵等),\t,\n,\r
接下來,看一些其他實用的示例:
1.groupdict()
先看乙個簡單的,
解釋一下:首先使用了 (…) 分組匹配,我們使用**groupdict()**能的到<>中內容對應的乙個字典; ?p<>是固定格式
具體有什麼用呢?看下圖中的例子:
(劃線部分是乙個身份證號)
2.re.split() 分割
下圖就是按照數字分割了後面的字串
注意,返回的也是列表形式
3.re.sub 替換
第乙個欄位是要匹配的內容,第二個是替換成什麼,第三個是字串,第四個count是替換幾次
返回結果就是替換完成之後的新字串
4.ip位址
小結:re中我們常用的方法就是 re.search;re.findall;re.split;re.sub
然後熟悉常用匹配規則,靈活運用就好了
Python 正規表示式學習(二)正規表示式語法
一,單一字元匹配 1 匹配任意字元 import re res re.match r a.abcd print res.group 列印結果 abc一點.表示匹配任意的字元。上面的 表示匹配a後面的任意兩個字元。必須從a開始。若寫成 b.則會發生錯誤。2 匹配指定字元 如 0 9a za z 表示 ...
python正規表示式學習
今天學習了python中有關正規表示式的知識。關於正規表示式的語法,不作過多解釋,網上有許多學習的資料。這裡主要介紹python中常用的正 則表示式處理函式。re.match 嘗試從字串的開始匹配乙個模式,如 下面的例子匹配第乙個單詞。import re text jgood is a handso...
python正規表示式學習
python 中的re 模組 正規表示式 就個人而言,主要用它來做一些複雜字串分析,提取想要的資訊 學習原則 夠用就行,需要的時候在深入 現總結如下 正規表示式中特殊的符號 表任意字元 表string起始 表string 結束 跟在字元後面表示,0個 多個,1個 多個,0個或者1個 符合條件的情況下...