Python正則表達(dá)式

正則表達(dá)式是一個特殊的字符序列,它能幫助你方便的檢查一個字符串是否與某種模式匹配。re 模塊使 Python 語言擁有全部的正則表達(dá)式功能。compile 函數(shù)根據(jù)一個模式字符串和可選的標(biāo)志參數(shù)生成一個正則表達(dá)式對象。該對象擁有一系列方法用于正則表達(dá)式匹配和替換。re 模塊也提供了與這些方法功能完全一致的函數(shù),這些函數(shù)使用一個模式字符串做為它們的第一個參數(shù)。

Python通過re模塊提供對正則表達(dá)式的支持。使用re的一般步驟是先使用re.compile()函數(shù),將正則表達(dá)式的字符串形式編譯為Pattern實例,然后使用Pattern實例處理文本并獲得匹配結(jié)果(一個Match實例),最后使用Match實例獲得信息,進行其他的操作。
舉一個簡單的例子,在尋找一個字符串中所有的英文字符:
import re
pattern = re.compile('[a-zA-Z]')
result = pattern.findall('as3SiOPdj#@23awe')
print result

['a', 's', 'S', 'i', 'O', 'P', 'd', 'j', 'a', 'w', 'e']

關(guān)于語句的解釋pa=re.compile(r'imooc\n')語句中前面的r表示原字符串,需要匹配的是immo\n。如果不加r,\n就會認(rèn)為是換行,如果不想被認(rèn)做換行符,需要寫成\n。

Paste_Image.png

ma=re.match(r,'.','0') ma.group() 結(jié)果為0.中間的點表示可以匹配任意一個字符。

Paste_Image.png
Paste_Image.png
Paste_Image.png

Paste_Image.png

加*表示緊挨著的字符出現(xiàn)0次或n次。
Paste_Image.png

下圖所示正則表達(dá)式意思是:匹配下劃線開頭的字母串,和以下劃線開頭的任意字符串,+表示可以出現(xiàn)0次到無限次。
Paste_Image.png

匹配163郵箱
Paste_Image.png

163郵箱長度在6到10之間
![Paste_Image.png](http://upload-
images.jianshu.io/upload_images/2013018-64e7b2259c96de98.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
?表示盡可能少匹配,+最少匹配1次,所以+?只匹配一次。
Paste_Image.png

Paste_Image.png

和$表示強匹配,必須以和$之間的字符串匹配才會返回結(jié)果。
Paste_Image.png

\A表示必須以某字符串(比如下圖imooc)開頭,\Z表示必須以什么結(jié)尾
Paste_Image.png

Paste_Image.png

實現(xiàn)匹配163或者126()實現(xiàn)了分組


Paste_Image.png
Paste_Image.png

通過search方法實現(xiàn)字符串的匹配


Paste_Image.png

search查找字符串只能查找出一個,findall則可以找出全部的。


Paste_Image.png

通過sum函數(shù)可以實現(xiàn)列表中的元素加和。
Paste_Image.png

string表示被替換的字符串,repl表示替換為的字符串或者函數(shù)返回的字符串。
Paste_Image.png
Paste_Image.png
Paste_Image.png

正則表達(dá)式表示使用:或空格,或逗號?!皘”表示或者


Paste_Image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • re模塊手冊 本模塊提供了和Perl里的正則表達(dá)式類似的功能,不關(guān)是正則表達(dá)式本身還是被搜索的字符串,都可以...
    喜歡吃栗子閱讀 4,189評論 0 13
  • 概述 正則表達(dá)式是一個特殊的字符序列,它能幫助你方便的檢查一個字符串是否與某種模式匹配。 Python 自1....
    MiracleJQ閱讀 429評論 0 0
  • 前言: 什么是正則表達(dá)式? 正則表達(dá)式(Regular expressions 也稱為 REs,或 regexes...
    小喜_ww閱讀 4,102評論 3 7
  • 本文介紹了Python對于正則表達(dá)式的支持,包括正則表達(dá)式基礎(chǔ)以及Python正則表達(dá)式標(biāo)準(zhǔn)庫的完整介紹及使用示例...
    Python程序媛閱讀 1,447評論 0 22
  • 故鄉(xiāng)是個恒久的詞眼,就像東北高密鄉(xiāng)之于莫言、馬孔多之于馬爾克斯,作為精神世界里的一種存在,它已經(jīng)超越了現(xiàn)實意義,因...
    蘇淮ttly閱讀 519評論 2 2

友情鏈接更多精彩內(nèi)容