您好,登錄后才能下訂單哦!
這篇文章主要介紹“Python的compile函數語法是什么”,在日常操作中,相信很多人在Python的compile函數語法是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Python的compile函數語法是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
compile 函數用于編譯正則表達式,生成一個正則表達式( Pattern )對象,供 match() 和 search() 這兩個函數使用。
語法格式為:
re.compile(pattern[, flags])
參數:
pattern : 一個字符串形式的正則表達式
flags 可選,表示匹配模式,比如忽略大小寫,多行模式等,具體參數為:
re.I 忽略大小寫
re.L 表示特殊字符集 \w, \W, \b, \B, \s, \S 依賴于當前環境
re.M 多行模式
re.S 即為' . '并且包括換行符在內的任意字符(' . '不包括換行符)
re.U 表示特殊字符集 \w, \W, \b, \B, \d, \D, \s, \S 依賴于 Unicode 字符屬性數據庫
re.X 為了增加可讀性,忽略空格和' # '后面的注釋
>>>import re
>>> pattern = re.compile(r'\d+') # 用于匹配至少一個數字
>>> m = pattern.match('one12twothree34four') # 查找頭部,沒有匹配
>>> print( m )
None
>>> m = pattern.match('one12twothree34four', 2, 10) # 從'e'的位置開始匹配,沒有匹配
>>> print( m )
None
>>> m = pattern.match('one12twothree34four', 3, 10) # 從'1'的位置開始匹配,正好匹配
>>> print( m ) # 返回一個 Match 對象<_sre.SRE_Match object at 0x10a42aac0
> >>> m.group(0) # 可省略 0
'12'
>>> m.start(0) # 可省略 0
3
>>> m.end(0) # 可省略 0
5
>>> m.span(0) # 可省略 0
(3, 5)
在上面,當匹配成功時返回一個 Match 對象,其中:
group([group1, …])
方法用于獲得一個或多個分組匹配的字符串,當要獲得整個匹配的子串時,可直接使用 group()
或 group(0)
;
start([group])
方法用于獲取分組匹配的子串在整個字符串中的起始位置(子串第一個字符的索引),參數默認值為 0;
end([group])
方法用于獲取分組匹配的子串在整個字符串中的結束位置(子串最后一個字符的索引+1),參數默認值為 0;
span([group])
方法返回 (start(group), end(group))
。
到此,關于“Python的compile函數語法是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。