久久国产乱子伦精品免费M,亚洲一区二区三区91,欧美国产在线视频,国产精品视频久久

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

歡迎大家來到自學Python教程教室,正則表達式是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”這個單詞,而不把包含它的單詞也算在內,那就可以使用“bhib”這個正則表達式。

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

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

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

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

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

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

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

好啦,今天的分享到這里就結束了,希望大家持續關注馬哥教育官網,每天都會有大量的優質內容與大家分享!

聲明:文章來源于網絡,侵刪!

相關新聞

歷經多年發展,已成為國內好評如潮的Linux云計算運維、SRE、Devops、網絡安全、云原生、Go、Python開發專業人才培訓機構!

    1. 主站蜘蛛池模板: 昭平县| 三河市| 西昌市| 衡阳市| 祥云县| 家居| 芜湖市| 瑞金市| 长乐市| 苍南县| 沁源县| 恭城| 疏附县| 泾阳县| 阜阳市| 永吉县| 阳江市| 榆社县| 甘洛县| 和田市| 满洲里市| 三都| 综艺| 德令哈市| 磴口县| 中山市| 益阳市| 方城县| 洪江市| 湖南省| 望奎县| 台南县| 顺平县| 托克逊县| 延安市| 平阳县| 商水县| 新丰县| 富民县| 双柏县| 乃东县|