在這篇文章之中我們來了解一下關於python re.compile 的知識,有些朋友可能是剛剛接觸到python這一程式語言,對這一方面不是特別的了解,但是沒關係接下來這篇文章將會來帶大家來了解python之中compile函數的相關知識。
re.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 對象,其中:
1.group([group1, …]) 方法用於取得一個或多個分組匹配的字串,當要獲得整個匹配的子字串時,可直接使用 group () 或 group(0);
2.start([group]) 方法用於取得分組匹配的子字串在整個字串中的起始位置(子字串第一個字元的索引) ,參數預設值為0;
3.end([group]) 方法用於取得分組匹配的子字串在整個字串中的結束位置(子字串最後一個字元的索引1),參數預設值為0;
4.span([group]) 方法回傳 (start(group), end(group))。
以上就是這篇文章所講述的所有內容,這篇文章主要介紹了python中的re.compile 函數的相關知識,希望你能藉助資料從而理解上述所說的內容。希望我在這片文章所講述的內容能夠對你有幫助,讓你學習python更加輕鬆。
更多相關知識,請造訪php中文網Python教學欄位。
以上是什麼是python re.compile 函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!