1.正規表示式
正規表示式其實就是乙個字串,使用這個字串來進行描述某個語法規則搜尋的模式
import re
re.findall(pattren,string)
引數一:正規表示式
引數二:被正則的表示式
功能:對string進行正則匹配,將匹配的結果作為列表返回
2.匹配單個字元
. 匹配除換行符以外的任意字元
字元集合,表示匹配中任意乙個字元
[0 -9] 表示匹配任意的數字
[a - z] 表示匹配所有的小寫字母
[a - z]表示匹配所有的大寫字母
[0-9a-za-z_]匹配數字字母下劃線
[^0-9] ^在括號中表示脫位元組,非數字(不匹配數字)
\d 匹配數字,效果同[0-9]
\d 匹配非數字,效果同[ ^ 0-9]
\w 匹配數字字母下劃線,效果同[0-9a-za-z_]
\w 匹配非數字字母下劃線,效果同[ ^ 0-9a-za-z_]
\s 表示匹配空白符效果同[\n\r\f\t]
\s匹配非空白符效果同[ ^ \n\r\f\t]
3.邊界匹配
^ 行首匹配,從每一行的開始進行匹配
$ 行尾匹配,匹配每一行的結束
\a 匹配字串的開始,與^的區別是,即使在re.m的模式下,也不會匹配其他的行
\z 匹配字串的結束,與$的區別是,即使在re.m的模式下,也不會匹配其他的行尾
\b 匹配單詞的邊界 \b寫在左邊匹配左邊界,右邊右邊界
\b 匹配單詞的非邊界 \b寫在左邊,左邊界不匹配,右邊右邊不匹配。
4.匹配多個字元
(xyz) 將小括號裡面的內容作為乙個整體來進行匹配
x? 匹配0個或者1個x 盡可能少的匹配
x* 匹配0個或者多個x 貪婪匹配,盡肯能多的匹配
x+ 匹配至少乙個,貪婪匹配,盡可能多的匹配
x 匹配確定的n個x
x 匹配至少n個x 貪婪匹配
x 匹配至少n個,最多m個x
x|y 標識或
.*? 經常一起連用, . 代表任意字元 * 代表盡可能多的匹配 ? 貪婪匹配的限制
5.正規表示式常用函式
re.compile(pattern,flags)
引數一:正規表示式
引數二:標誌位
功能:將正規表示式編譯成乙個正則物件然後返回。呼叫的時候呼叫正則物件即可。
re.match(pattern,string,flags)
引數一:正規表示式
引數二:string
引數三:標誌位
功能:對string從字串開始進行匹配,若匹配的上則返回匹配成功的物件,若匹配不上則返回none
注意:這並不是乙個完全匹配,若匹配成功之後, string有剩餘仍然匹配成功,若要完全匹配,可以在正則的末尾新增$即可
re.search(pattern,string,flags)
引數一:正規表示式
引數二:字串
引數三:標誌位
功能:以指定的正則格式在 string進行查詢若找到則直接返回第一匹配成功的物件,不再繼續匹配。若找不到返回none
re.findall(pattern,string,flags)
功能:以指定的正規表示式去 string中進行匹配,把所有匹配的結果作為list返回。若沒匹配上返回空列表
re.finditer(pattern,string,flags)
功能:以指定的正規表示式去 string中進行匹配,把所有匹配的結果作為迭代器返回。
re.split(pattern,string,maxsplit,flags)
功能:以指定的正則對 string進行切片,並且將切片後的結果作為列表返回。maxsplit最大切割次數,不指定全部切割
re.sub(pattern,repl,string,count)
功能:將匹配到的字串,以repl進行替換,並且返回替換後的結果
count:指定替換次數,若不指定則預設
Python 正規表示式(基礎)
正規表示式 regular expression 是乙個特殊的字串行,描述了一種字串匹配的模式可以用來檢查乙個串是否含有某種子串 將匹配的子串替換或者從某個串中取出符合某個條件的子串,或者是在指定的文章中,抓取特定的字串等。python處理正規表示式的模組是re模組,它是python語言擁有全部的正...
Python正規表示式基礎
直接給出字元就是精確匹配。特殊字元首先需要轉義如 d 匹配乙個數字,w 匹配乙個字母或者數字。123 d 可以匹配 1231 但是無法匹配 123a d d d 可以匹配到 123 w w w 可以匹配到 py3 表示任意乙個字元,py.可以表示py3 py 等 表示任意長個字元,表示至少乙個字元,...
python基礎(正規表示式)
正規表示式用於搜尋 替換和解析字串。正規表示式遵循一定的語法規則,使用非常靈活,功能強大。使用正規表示式編寫一些邏輯驗證非常方便,例如電子郵件位址格式的驗證。python提供了re模組實現正規表示式的驗證。1.簡介 正規表示式是用於文字匹配的工具,它在源字串中查詢與給定的正規表示式相匹配的部分,乙個...