python中的正規表示式 學習總結

2021-10-08 14:42:14 字數 2523 閱讀 2745

使用正規表示式,只需要記住乙個「套路」,如下圖,然後慢慢延申即可。

首先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個 符合條件的情況下...