在python正則表達(dá)式教程中正確使用正則表達(dá)式方案
此篇文章主要是描述如何在python正則表達(dá)式的教程中正確的使用正則表達(dá)式,以及如何用通過Python正則表達(dá)式來編譯正則表達(dá)式的相關(guān)實(shí)際應(yīng)用與相關(guān)代碼你的介紹,以下就是文章的具體介紹。
現(xiàn)在我們已經(jīng)看了一些簡單的正則表達(dá)式,那么我們實(shí)際在 Python 中是如何使用它們的呢? re 模塊提供了一個正則表達(dá)式引擎的接口,可以讓你將 REs 編譯成對象并用它們來進(jìn)行匹配。
編譯正則表達(dá)式
正則表達(dá)式被編譯成 `RegexObject` 實(shí)例,可以為不同的操作提供方法,如模式匹配搜索或字符串替換。
- #!python>>> import re>>> p = re.compile('ab*')
>>> print p<re.RegexObject instance at 80b4150>re
.compile()
也接受可選的標(biāo)志參數(shù),常用來實(shí)現(xiàn)不同的特殊功能和語法變更。我們稍後將查看所有可用的設(shè)置,但現(xiàn)在只舉一個例子:
- #!python>>> p = re.compile('ab*', re.IGNORECASE)RE
被做為一個字符串發(fā)送給 re.compile()。REs 被處理成字符串是因?yàn)檎齽t表達(dá)式不是 Python 語言的核心部分,也沒有為它創(chuàng)建特定的語法。(應(yīng)用程序根本就不需要 REs,因此沒必要包含它們?nèi)ナ拐Z言說明變得臃腫不堪。)而 re 模塊則只是以一個 C 擴(kuò)展模塊的形式來被 Python 包含,就象 socket 或 zlib 模塊一樣。
將 REs 作為字符串以保證 Python 語言的簡潔,但這樣帶來的一個麻煩就是象下節(jié)標(biāo)題所講的。
[編輯] 反斜杠的麻煩
在早期規(guī)定中,正則表達(dá)式用反斜杠字符 (“\”) 來表示特殊格式或允許使用特殊字符而不調(diào)用它的特殊用法。這就與 Python 在字符串中的那些起相同作用的相同字符產(chǎn)生了沖突。
讓我們舉例說明,你想寫一個 RE 以匹配字符串 “\section”,可能是在一個 LATEX 文件查找。為了要在程序代碼中判斷,首先要寫出想要匹配的字符串。接下來你需要在所有反斜杠和元字符前加反斜杠來取消其特殊意義。
以上就是對Python正則表達(dá)式-python教程中如何應(yīng)用的相關(guān)內(nèi)容的介紹,望你會有所收獲。
【編輯推薦】