pythonRegexre之compile函數解析,pythoncompile

來源:互聯網
上載者:User

pythonRegexre之compile函數解析,pythoncompile

reRegex模組還包括一些有用的操作Regex的函數。下面主要介紹compile函數。

定義:

compile(pattern[,flags] ) 根據包含Regex的字串建立模式對象。

通過python的help函數查看compile含義:

help(re.compile)

compile(pattern, flags=0)

Compile a regular expression pattern, returning a pattern object.

通過help可以看到compile方法的介紹,返回一個pattern對象,但是卻沒有對第二個參數flags進行介紹。第二個參數flags是匹配模式,可以使用按位或'|'表示同時生效,也可以在Regex字串中指定。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): 詳細模式。這個模式下Regex可以是多行,忽略空白字元,並可以加入注釋

例如:

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

這裡Regex為三個”號引起來的多行字串,則將匹配模式設定為re.X 可以多行匹配。

函數re.compile將Regex(以字串書寫的)轉換為模式對象,可以實現更加有效匹配。例子:

import retext = "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'的單詞

總結

以上就是本文關於pythonRegexre之compile函數解析的全部內容,希望對大家有所協助。感興趣的朋友可以繼續參閱本站:Python_LDA實現方法詳解、python+mongodb資料抓取詳細介紹、Python探索之修改Python搜尋路徑等,如有不足之處,歡迎留言支援。感謝朋友們對本站的支援!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.