re模組與正規表示式

2022-07-13 17:51:11 字數 2893 閱讀 4518

正規表示式,又稱正規表示式、正規表示法、正規表示式、規則表示式、常規表示法(英語:regular expression,在**中常簡寫為regex、regexp或re),是電腦科學的乙個概念。正規表示式使用單個字串來描述、匹配一系列匹配某個句法規則的字串。在很多文字編輯器裡,正規表示式通常被用來檢索、替換那些匹配某個模式的文字。

1、正規表示式之表示字元

字元 功能

.匹配任意1個字元(除了\n)

匹配中列舉的字元

\d匹配數字,即0-9

\d匹配非數字,即不是數字

\s匹配空白,即空格、tab鍵

\s匹配非空白

\w匹配單詞字元,即a-z、a-z、0-9

\w匹配非單詞字元

簡單例項:

import

reret = re.findall("

.","

agdhsaghgewj1233

") #

匹配任意字串

ret1 = re.findall("

h","

hello,python

") #

只匹配h字元

ret2 = re.findall("

\d","

gdhgf1554hgsfhdg

") #

只匹配數字

表示字元例項

2.正規表示式之表示數量

符號功能

*重複零次或更多次

+重複一次或更多次

?重複零次或一次

重複n次

重複n次或更多次

重複n到m次

簡單例項:

ret = re.findall("

\w*","

aabcdef

") #

ret = re.findall("

\d+","

dfdfdsfs14fgf24fd4f5

") #

列印結果為14,24,4,5

ret1 = re.findall("

a-za-z0-9_]

","hdfhgf1545gfd

") #

列印8-20位的字元

表示數量例項

3.正規表示式之表示邊界

字元功能

^匹配字串開頭

$匹配字串結尾

\b匹配乙個單詞的邊界

\b匹配非單詞邊界

簡單例項:

import

reret = re.findall(r"

^[a-z0-9]@163.com$

","[email protected]

") #

以a-z字元和0-9數字開頭,長度為4-20位

ret1 = re.findall(r"

c\b","

ddfdsfc lfdfdcc dfjhgjfhgfjgccc

") #

顯示以c為邊界的字元

邊界例項

4.正規表示式之匹配分組

字元功能

|匹配左右任意乙個表示式

(ab)

將括號中字元作為乙個分組

\num

引用分組num匹配到的字串

(?p)

分組起別名

(?p=name)

引用別名為name分組匹配到的字串

1、findall

import

reret=re.findall(r'

\d+',"

商品:辣條,數量:5,**:5")

print(ret)

2、findall優先順序

import

reret = re.findall(r'

(數量:\d+),**:\d+

',"商品:辣條,數量:5,**:5")

print

(ret)

#取消優先順序

ret = re.findall(r'

(?:數量:\d+),**:\d+

',"商品:辣條,數量:5,**:5")

print(ret)

3、search

函式會在字串內查詢模式匹配,只到找到第乙個匹配然後返回乙個包含匹配資訊的物件,該物件可以通過呼叫group()方法得到匹配的字串,如果字串沒有匹配,則返回none。

import

reret = re.search(r"

\d+", "

閱讀次數為 9999")

ret.group()

#結果9999

4、split

split的優先順序查詢

import

reret=re.split(r'

\d+',"

小公尺3小花4小松5")

print

(ret)

#結果:

#['小公尺', '小花', '小松', '']

ret=re.split(r'

(\d+)

',"小公尺3小花4小松5")

print

(ret)

#結果:

#['小公尺', '3', '小花', '4', '小松', '5', '']

#取消優先順序

ret=re.split(r'

(?:\d+)

',"小公尺3小花4小松5")

print

(ret)#結果

#['小公尺', '小花', '小松', '']

split例項

re模組與正規表示式

re模組與正規表示式的關係 正規表示式是一門獨立的技術,所有的程式語言都可以使用,但是如果想在python中使用,就必須依賴於re模組。正則就是用來篩選特定內容的表示式,在python中 一般情況下 reg都是與正則有關 如果想匹配具體的內容,可以直接寫完整的內容,不需要寫正則。字元組 乙個字串裡面...

正規表示式與re模組

一,正規表示式 正規表示式本身與python沒什麼關係,就是匹配字串內容的一種規則,只和字串相關。定義 正規表示式是對字串操作的一種邏輯公式,就是用事先定義好的一些特殊字元 及這些特殊字元的組合,組合乙個 規則字串 這個 規則字串 用來表達對字串的一種過濾邏輯。1,字元組,字元組 在同一位置可能出現...

re 正規表示式模組

import re 預定義字符集 d 數字 0 9 d 非數字 d s 空白字元 空格 t r n f v s 非空白字元 s w 單詞字元 a za z0 9 w 非單詞字元 w 匹配數量 匹配除換行符以外的任何單個字元 匹配前乙個字元0或無限次 盡可能多的匹配 盡可能少的進行匹配前邊的正規表示式...