亚洲熟女综合色一区二区三区,亚洲精品中文字幕无码蜜桃,亚洲va欧美va日韩va成人网,亚洲av无码国产一区二区三区,亚洲精品无码久久久久久久

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

歡迎大家來到自學(xué)Python教程教室,正則表達(dá)式是Python基礎(chǔ)學(xué)習(xí)中很重要的一部分內(nèi)容,今天我們就開始學(xué)習(xí)Python中正則表達(dá)式的相關(guān)內(nèi)容,今天我們先來了解什么是正則表達(dá)式、正則表達(dá)式有什么作用等內(nèi)容。

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

正則表達(dá)式誕生的緣由:

在編程處理文本的過程中,經(jīng)常會(huì)需要按照某種規(guī)則去查找一些特定的字符串。比如知道一個(gè)網(wǎng)頁上的圖片都是叫做'image/8554278135.jpg'之類的名字,只是那串?dāng)?shù)字不一樣;又或者在一堆人員電子檔案中,你要把他們的電話號(hào)碼全部找出來,整理成通訊錄。諸如此類工作,如果手工去做,當(dāng)量大的時(shí)候那簡直就是悲劇。但你知道這些字符信息有一定的規(guī)律,可不可以利用這些規(guī)律,讓程序自動(dòng)來做這些無聊的事情?答案是肯定的。這時(shí)候,你就需要一種描述這些規(guī)律的方法,正則表達(dá)式就是干這事的。

正則表達(dá)式就是記錄文本規(guī)則的代碼。

所以正則表達(dá)式并不是Python中特有的功能,它是一種通用的方法。Python中的正則表達(dá)式庫,所做的事情是利用正則表達(dá)式來搜索文本。要使用它,你必須會(huì)自己用正則表達(dá)式來描述文本規(guī)則。之前多次有同學(xué)表示查找文本的事情經(jīng)常會(huì)遇上,希望能介紹一下正則表達(dá)式。既然如此,我們就從正則表達(dá)式的基本規(guī)則開始說起。

1.首先說一種最簡單的正則表達(dá)式,它沒有特殊的符號(hào),只有基本的字母或數(shù)字。它滿足的匹配規(guī)則就是完全匹配。

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

來看如下的一段文字:

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

如果我們用“hi”這個(gè)正則表達(dá)式去匹配這段文字,將會(huì)得到兩個(gè)結(jié)果。因?yàn)槭峭耆ヅ?,所以每個(gè)結(jié)果都是“hi”。這兩個(gè)“hi”分別來自“Shirley”和“his”。默認(rèn)情況下正則表達(dá)式是嚴(yán)格區(qū)分大小寫的,所以“Hi”和“Hilton”中的“Hi”被忽略了。

為了驗(yàn)證正則表達(dá)式匹配的結(jié)果,你可以用以下這段代碼做實(shí)驗(yàn):

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'

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

2.如果我們只想找到“hi”這個(gè)單詞,而不把包含它的單詞也算在內(nèi),那就可以使用“bhib”這個(gè)正則表達(dá)式。

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

“b”在正則表達(dá)式中表示單詞的開頭或結(jié)尾,空格、標(biāo)點(diǎn)、換行都算是單詞的分割。而“b”自身又不會(huì)匹配任何字符,它代表的只是一個(gè)位置。所以單詞前后的空格標(biāo)點(diǎn)之類不會(huì)出現(xiàn)在結(jié)果里。

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

3.最后再說一下[]這個(gè)符號(hào)。

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

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

恭喜您在Python自學(xué)的道路上又堅(jiān)持了一天,今天我們算是初步的認(rèn)識(shí)了一下Python中的正則表達(dá)式,下一講我們來了解更多內(nèi)容,敬請期待!

好啦,今天的分享到這里就結(jié)束了,希望大家持續(xù)關(guān)注馬哥教育官網(wǎng),每天都會(huì)有大量的優(yōu)質(zhì)內(nèi)容與大家分享!

聲明:文章來源于網(wǎng)絡(luò),侵刪!

相關(guān)新聞

歷經(jīng)多年發(fā)展,已成為國內(nèi)好評(píng)如潮的Linux云計(jì)算運(yùn)維、SRE、Devops、網(wǎng)絡(luò)安全、云原生、Go、Python開發(fā)專業(yè)人才培訓(xùn)機(jī)構(gòu)!