正規表示式,又稱正規表示式、正規表示法、正規表示式、規則表示式、常規表示法(英語: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$
") #
以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
import2、findall優先順序reret=re.findall(r'
\d+',"
商品:辣條,數量:5,**:5")
print(ret)
import3、searchreret = re.findall(r'
(數量:\d+),**:\d+
',"商品:辣條,數量:5,**:5")
(ret)
#取消優先順序
ret = re.findall(r'
(?:數量:\d+),**:\d+
',"商品:辣條,數量:5,**:5")
print(ret)
函式會在字串內查詢模式匹配,只到找到第乙個匹配然後返回乙個包含匹配資訊的物件,該物件可以通過呼叫group()方法得到匹配的字串,如果字串沒有匹配,則返回none。
import4、splitreret = re.search(r"
\d+", "
閱讀次數為 9999")
ret.group()
#結果9999
split的優先順序查詢
importsplit例項reret=re.split(r'
\d+',"
小公尺3小花4小松5")
(ret)
#結果:
#['小公尺', '小花', '小松', '']
ret=re.split(r'
(\d+)
',"小公尺3小花4小松5")
(ret)
#結果:
#['小公尺', '3', '小花', '4', '小松', '5', '']
#取消優先順序
ret=re.split(r'
(?:\d+)
',"小公尺3小花4小松5")
(ret)#結果
#['小公尺', '小花', '小松', '']
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或無限次 盡可能多的匹配 盡可能少的進行匹配前邊的正規表示式...