#findall
# 功能:匹配字串中所有符合條件的
# 返回值:列表,會將所有匹配到的項加入到列表中返回
import re
phone_num =
'17344332233'
# 待匹配的字串
regex = r'^1[3-9]\d$'
# 匹配手機號使用的正則
ret = re.findall(regex,num)
print
(ret)
# findall和分組的關係
ret = re.findall(
'\d(\d)'
,'a1,b22,c345'
)print
(ret)
# [2,4]
ret = re.findall(
'\d(?:\d)'
,'a1,b22,c345'
)print
(ret)
# ['22', '34']
# 功能:匹配從左到右所有符合的,只返回乙個值
# 返回值: 返回的是乙個re自定義型別
num =
'17344332233'
regex = r'^1[3-9]\d$'
ret = re.search(regex,num)
print
(ret)
if ret:
print
('是合法的手機號碼 %s'
% num)
else
:print
('不是合法的手機號碼'
)#serach取分組中的內容:根據序號取,根據組名取
ret = re.search(
'(?p\d)(?p\d)'
,'a1,b28,c345'
)print
(ret.group(0)
)print
(ret.group(1)
)print
(ret.group(2)
)print
(ret.group(
'num1'))
print
(ret.group(
'num2'))
# 分組的引用 ?p=num1表示引用了num1分組,匹配到的內容必須和num1分組中的內容一模一樣
ret = re.search(
'(?p\d)(?p=num1)'
,'a14,b22,c3357'
)print
(ret.group(
))
# 功能:從頭開始匹配,如果開始部分匹配到後則匹配成功,否則匹配失敗
# 返回值: re自定義型別
num =
'17344332233'
regex = r'1[3-9]\d$'
ret = re.match(regex, num)
if ret:
print
(ret)
print
('是合法的手機號碼 %s'
% num)
else
:print
('不是合法的手機號碼'
)# 相當於search方法在正則前加上^
# split 根據正規表示式切割
ret = re.split(r'\d+'
,r'alex123mhy345aa33'
)print
(ret)
# sub 根據正規表示式,將匹配到的字串替換成對應的(正規表示式,要替換的內容,待匹配的字串,要替換的個數)
ret = re.sub(r'\d+'
,'4'
,r'alex123mhy345aa33',1
)print
(ret)
# 結果: alex4mhy4aa4
# 替換方法2:返回的是乙個元組,第乙個元素是替換結果,第二個是替換次數
ret = re.subn(r'\d+'
,'4'
,r'alex123mhy345aa33'
)print
(ret)
# 結果: ('alex4mhy4aa4', 3)
# compile 預編譯 預先來編譯一下我們寫好的正則
rule = re.
compile
(r'\d+'
)ret = rule.findall(
'alex123eva456'
)print
(ret)
ret = rule.findall(
'手機號碼13737373377\n身份證號 110107197712072277'
)print
(ret)
# 結果:['123', '456'] ['13737373377', '110107197712072277']
# finditer將匹配到的內容,返回成乙個迭代器,迴圈取出來的是乙個re自定義型別,通過group方法取值,可以節省記憶體空間
ret = re.finditer(
'\d'
,'alex1916936916598sb7985073495898632847'
)print
(ret)
for i in ret:
print
(i.group(
))
python re模組常用方法
萬用字元 含義示例 匹配結果 reg1 reg2 匹配表示式reg1或者表示式reg2 foo bar bar.匹配除 n以外的任意字元 ab.b abdb 匹配字串起始部分 匹配字串終止部分 匹配0次或多次前面出現的正規表示式 匹配一次或多次前面出現的正規表示式 匹配0次或1次前面出現的正規表示式...
python re函式的常用方法
剛學習python的正規表示式我還是有點懵逼的,不過沒關係,慢慢來,看到乙個知識點就吃乙個。re.match arg0,arg1,arg2 span arg0 表示式 arg1 原始字串 arg2 flag即搜尋的標誌符號 其中span 方法是獲取到資料在原字串的位置 re.search arg0,...
python re模組的學習
re模組是用來處理正規表示式的,正規表示式幾乎在每一門語言中都有,用處可謂很大,主要用與搜尋 匹配和替代,向郵箱 手機號碼的匹配,搜尋對應的檔名並進行替換等,下邊稍微羅列一下python常用的re模組中的相關函式,基本符號的使用這裡就不說了 re.match從字串的開頭查詢匹配的字元 re.sear...