熱線電話:13121318867

登錄
首頁精彩閱讀python正則表達式re之compile函數解析
python正則表達式re之compile函數解析
2017-11-07
收藏

python正則表達式re之compile函數解析

這篇文章主要介紹了python正則表達式re之compile函數解析,介紹了其定義,匹配模式等相關內容,具有一定參考價值,需要的朋友可以了解下。

re正則表達式模塊還包括一些有用的操作正則表達式的函數。下面主要介紹compile函數。

定義:
compile(pattern[,flags] ) 根據包含正則表達式的字符串創建模式對象。

通過python的help函數查看compile含義:    
help(re.compile)

compile(pattern, flags=0)

Compile a regular expression pattern, returning a pattern object.

通過help可以看到compile方法的介紹,返回一個pattern對象,但是卻沒有對第二個參數flags進行介紹。第二個參數flags是匹配模式,可以使用按位或'|'表示同時生效,也可以在正則表達式字符串中指定。Pattern對象是不能直接實例化的,只能通過compile方法得到。匹配模式有:

1).re.I(re.IGNORECASE): 忽略大小寫
2).re.M(MULTILINE): 多行模式,改變'^'和'$'的行為
3).re.S(DOTALL): 點任意匹配模式,改變'.'的行為
4).re.L(LOCALE): 使預定字符類 \w \W \b \B \s \S 取決于當前區域設定
5).re.U(UNICODE): 使預定字符類 \w \W \b \B \s \S \d \D 取決于unicode定義的字符屬性
6).re.X(VERBOSE): 詳細模式。這個模式下正則表達式可以是多行,忽略空白字符,并可以加入注釋

例如:    
pattern1 = re.compile(r”“”\d + #整數部分
. #小數點
\d * #小數部分”“”, re.X)

這里正則表達式為三個”號引起來的多行字符串,則將匹配模式設置為re.X 可以多行匹配。

函數re.compile將正則表達式(以字符串書寫的)轉換為模式對象,可以實現更加有效的匹配。例子:    
import re
text = "JGood is a handsome boy, he is cool, clever, and so on..."
re.findall(r'\w*oo\w*', text)  #查找所有包含'oo'的單詞

使用compile函數:

導入re模塊:

import re    
text = “JGood is a handsome boy, he is cool, clever, and so on…”
regex = re.compile(r'\w*oo\w*')
print regex.findall(text) #查找所有包含'oo'的單詞
總結
以上就是本文關于python正則表達式re之compile函數解析的全部內容


數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢