python的re模組及Regex的使用

來源:互聯網
上載者:User

標籤:python   Regex   

        不知是因為自己太低端還是其他的什麼原因,別人都說的Regex非常強大,可是我的意識中Regex有用,但總是覺得沒有傳說中的那麼厲害。也有可能是自己沒有真正的理解它吧。在python中再次偶遇,那就再來好好學習一番。

        首先是萬用字元,點號(.)可以匹配除了分行符號之外的任意一個字元,‘.ython’可以匹配’python‘也可以匹配’jypthon‘。注意點號是匹配一個字元,不能使空更不能是多個。假如在需要匹配的字串中包含了點號,這時候就需要轉義符來實現,在re中使用(python\\.org)來匹配(python.org).

       匹配字元集,使用[ ]表示,[pj]ython就表示匹配python或者jython,而非其他內容。使用[a-z]表示匹配任意一個小寫字母;[a-zA-Z0-9]則表示匹配任意字母或數字。

       反轉字元集,可以在開頭使用^字元[^abc]表示匹配除了a b c之外的任一字元。當然,如果匹配的內容中包括了^ [ ]等符號時也需要使用反轉字元。

      選擇符和子模式,在字串的每個字元都不一樣的時候字元集是很好用的,但是如果想匹配字元創python和per呢,這個時候可以使用選擇符“|”,python|per就表示匹配python或者per。有時候不需要對整個字元使用選擇符,p(ython|er)表示的意義和上面一樣,而小括弧中的部分就被稱為子模式。

      可選項和重複子模式,(python)?為可選項,即該子模式存在或者不存在。(python)*表示模式重複0次或者多次,(python)+表示子模式重複一次或者多次,(python){m,n}表示重複m~n次。

       匹配開頭和結尾,匹配開頭的時候使用^,如^http表示匹配以http開頭的字串,匹配結尾使用$符號,com$表示匹配以com為結尾的字串。

some_text="gao xiang... huier"import reif re.search("xiang",some_text): #find the world in the textprint "found it"if re.match("xiang",some_text): #macth the world from the sprint "found it,too"str1=re.split("[. ]+",some_text)print str1str2=re.split("[. ]+",some_text,maxsplit=2) #split the text into 3 partsprint str2str3=re.findall("[a-zA-Z]+",some_text) #find all the substring of the textprint str3pattern="www.python.org"str4 = re.escape(pattern) print str4
關於Regex在python中的使用,

search(pattern,string)根據包含Regex在字串中尋找,返回true 或 false

match(pattern,string)在字串的開頭出進行匹配

split(pattern,string,flags)根據模式對字串進行分割,可以通過控制參數控制分割的子結構的數目

findall(pattern,string)列出所有匹配項

escape(string),自動將字串中的所有特殊鄭則仕字元轉義


python的re模組及Regex的使用

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.