浙江11选5走势图开奖结果查询:自學Python教程【第五十三節】正則表達式(1)

浙江11选5任3遗漏 www.ehxis.com 歡迎大家來到自學浙江11选5任3遗漏教室,正則表達式是Python基礎學習中很重要的一部分內容,今天我們就開始學習Python中正則表達式的相關內容,今天我們先來了解什么是正則表達式、正則表達式有什么作用等內容。

自學Python教程【第五十三節】正則表達式(1)

正則表達式誕生的緣由:

在編程處理文本的過程中,經?;嶁枰湊漳持止嬖蛉ゲ檎乙恍┨囟ǖ淖址?。比如知道一個網頁上的圖片都是叫做’image/8554278135.jpg’之類的名字,只是那串數字不一樣;又或者在一堆人員電子檔案中,你要把他們的電話號碼全部找出來,整理成通訊錄。諸如此類工作,如果手工去做,當量大的時候那簡直就是悲劇。但你知道這些字符信息有一定的規律,可不可以利用這些規律,讓程序自動來做這些無聊的事情?答案是肯定的。這時候,你就需要一種描述這些規律的方法,正則表達式就是干這事的。

正則表達式就是記錄文本規則的代碼。

所以正則表達式并不是Python中特有的功能,它是一種通用的方法。Python中的正則表達式庫,所做的事情是利用正則表達式來搜索文本。要使用它,你必須會自己用正則表達式來描述文本規則。之前多次有同學表示查找文本的事情經?;嵊鏨?,希望能介紹一下正則表達式。既然如此,我們就從正則表達式的基本規則開始說起。

1.首先說一種最簡單的正則表達式,它沒有特殊的符號,只有基本的字母或數字。它滿足的匹配規則就是完全匹配。

例如:有個正則表達式是“hi”,那么它就可以匹配出文本中所有含有hi的字符。

來看如下的一段文字:

Hi, I am Shirley Hilton. I am his wife.

如果我們用“hi”這個正則表達式去匹配這段文字,將會得到兩個結果。因為是完全匹配,所以每個結果都是“hi”。這兩個“hi”分別來自“Shirley”和“his”。默認情況下正則表達式是嚴格區分大小寫的,所以“Hi”和“Hilton”中的“Hi”被忽略了。

為了驗證正則表達式匹配的結果,你可以用以下這段代碼做實驗:

import re 
text = "Hi, I am Shirley Hilton. I am his wife."
m = re.findall(r"hi", text)
if m:
print m
else:
print 'not match'

暫時先不解釋這其中代碼的具體含義,你只要去更改text和findall中的字符串,就可以用它來檢測正則表達式的實際效果。

2.如果我們只想找到“hi”這個單詞,而不把包含它的單詞也算在內,那就可以使用“\bhi\b”這個正則表達式。

在以前的字符串處理中,我們已經見過類似“\n”這種特殊字符。在正則表達式中,這種字符更多,以后足以讓你眼花繚亂。

“\b”在正則表達式中表示單詞的開頭或結尾,空格、標點、換行都算是單詞的分割。而“\b”自身又不會匹配任何字符,它代表的只是一個位置。所以單詞前后的空格標點之類不會出現在結果里。

在前面那個例子里,“\bhi\b”匹配不到任何結果。但“\bhi”的話就可以匹配到1個“hi”,出自“his”。用這種方法,你可以找出一段話中所有單詞“Hi”,想一下要怎么寫。

3.最后再說一下[]這個符號。

在正則表達式中,[]表示滿足括號中任一字符。比如“[hi]”,它就不是匹配“hi”了,而是匹配“h”或者“i”。

在前面例子中,如果把正則表達式改為“[Hh]i”,就可以既匹配“Hi”,又匹配“hi”了。

恭喜您在Python自學的道路上又堅持了一天,今天我們算是初步的認識了一下Python中的正則表達式,下一講我們來了解更多內容,敬請期待!

好啦,今天的分享到這里就結束了,希望大家持續關注浙江11选5任3遗漏官網,每天都會有大量的優質內容與大家分享!免責聲明:內容和圖片源自網絡,版權歸原作者所有,如有侵犯您的原創版權請告知,我們將盡快刪除相關內容。

相關新聞

聯系我們

400-080-6560

在線咨詢:點擊這里給我發消息

郵件:[email protected]

工作時間:周一至周日,09:00-18:30

QR code