re模組使python語言擁有全部的正規表示式功能,本篇主要介紹python中re模組常用的函式使用方法
search()函式
search()函式瀏覽全部字串,匹配第乙個符合規則的字串,未匹配則返回none
語法:search(pattern,string,flags=0)
#pattern:要匹配的正規表示式
#string:要匹配的字串
#falgs:匹配模式,用於控制正規表示式的匹配方式,如是否區分大小寫,多行匹配等
例如import re
a = 『one1two2three3』
infos = re.search(』\d+』,a)
print(infos)
執行結果:
可以看出,search()函式返回的是正規表示式物件,通過正規表示式匹配到了『1』這個字串
取出匹配物件方法:
group():獲取匹配到的所有結果,不管有沒有分組將匹配到的全部拿出來,有引數為匹配到的第幾個如2
groups():獲取模型中匹配到的分組結果,只拿出匹配到的字串中分組部分的結果
groupdict():獲取模型中匹配到的分組結果,只拿出匹配到的字串中分組部分定義了key的組結果,?p<>定義組裡匹配內容的key(鍵)
可以通過下面的**返回匹配的字元:
import re
a = 『one1two2three3』
infos = re.search(』\d+』,a)
print(infos.group())
執行結果:
match()函式
match()函式,從頭匹配乙個符合規則的字串,從起始位置開始匹配,匹配成功返回乙個物件,未匹配成功返回none
格式:match(pattern,string,flags=0)
#pattern:要匹配的正規表示式
#string:要匹配的字串
#falgs:匹配模式,用於控制正規表示式的匹配方式,如是否區分大小寫,多行匹配等
注意:match()函式 與 search()函式基本是一樣的功能,不一樣的就是match()匹配字串開始位置的乙個符合規則的字串,search()是在字串全域性匹配第乙個合規則的字串
findall()函式
findall()函式匹配所有符合規律的內容,並以列表形式返回結果。例如前例中 『one1two2three3』,通過search()函式只能匹配到第乙個符合規律的結果,而通過findall()函式可以返回字串所有的數字。
import re
a = 『one1two2three3』
infos = re.findall(』\d+』,a)
print(infos)
執行結果:
sub()函式用於替換字串中的匹配項
語法如下
re.sub(pattern,repl,string,count=0,flags=0)
#pattern為匹配的正規表示式
#repl為替換的字串
#string為要被查詢替換的原始字串
#count為模式匹配後替換的最大次數
#flags為標誌位,用於控制正規表示式的匹配方式,如是否區分大小寫,多行匹配等
例如:import re
phone = 『137-2345-3245』
new_phone = re.sub(』\d』,』』,phone)
print(new_phone)
執行結果:
split()函式
根據正則匹配分割字串,返回分割後的乙個列表
split(pattern,string,maxsplit=0,flags=0)
#pattern 匹配的正規表示式
#string 要匹配的字串
#maxsplit 指定分割個數
#flags 標誌位,用於控制正規表示式的匹配方式,如是否區分大小寫,多行匹配等
例如:按照乙個字元將全部字串進行分割
import re
phone = 『hello alex bcd alex lge alex acd 19』
new_phone = re.split(『a』,phone)
print(new_phone)
執行結果:
常用模組 re模組
由堆具有特殊意義的字元組成的式子。用於匹配查詢字串內容。主要學習重點,就是學習這些字元的含義。abc 表示式不包含任何特殊字元,就是精準匹配,說白了判斷是否相同 print re.findall abc abcbbb abc n t f 符號含義 a從字元的開始處開始匹配 z從字元的結尾處匹配 從字...
Python中re模組常用函式
re.match re.match 嘗試從字串的開始匹配乙個模式,如 下面的例子匹配第乙個單詞。import re text jgood is a handsome boy,he is cool,clever,and so on.m re.match r w s text if m print m....
常用模組之re模組
正規表示式是一門獨立語言 是通過一些特殊符號使用,從而在字串中篩選出想要的結果 如果想在python中使用正則,則需借助於內建模組re 字元組 包含乙個字元或者的意思 a z a z中任意取乙個字元 a z a z中任意取乙個字元 0 9 0 9中任意取乙個字元 特殊符號 特殊符號預設也只能單個單個...