Python教程正則表達式詳解(基礎篇)

      網友投稿 1027 2022-05-29

      在一篇文檔中,你可能很熟悉文本查找,按下‘Ctrl+F’輸入你想要查找的詞便可以實現。

      但是在python中使用正則表達式則更進一步,它可以讓你指定要查找的特定模式,并且根據該模式特定匹配在整個文本中所符合條件的內容。

      其實正則表達式在很多編程語言中都是十分有用的,但如果不是程序員,很少有人會去了解它,現在大多數文本編輯器和文字處理器都有查找和替換的功能,都可根據正則表達式查找。

      與此同時,正則表達式也可以節約大量的時間,它不僅適用于軟件用戶,也適用于進行軟件開發的程序員。

      技術作家Cory Doctorow就曾調侃道:“在教授編程之前,應該先教授正則表達式。”

      其實如果你了解正則表達式,便意味著可以用三步解決一個問題,而不是3000步。如果你是一個技術大牛,那么你用幾次敲擊鍵盤就能解決的問題,別人可能要數天的繁瑣工作才可以解決,并且容易犯錯。這就是Python和現代人工智能所帶來的便捷之處!

      所以在這篇文章中,大灰狼會和大家分享用正則表達式來尋找文本模式,和正則表達式所具備的一些強大功能。

      那么何為正則表達式?

      正則表達式簡稱為「Regex」,是一種文本模式的敘述方法。例如‘\d’是一個正則表達式,它所表示的是0-9的數字集合。在Python中就可以使用‘\d’的正則表達式來匹配一連串的數字。

      如我們可以使用‘\d\d\d-\d\d\d\d-\d\d\d\d’來匹配我們通常所常見的電話號碼的‘三四四’格式。但這也只是單純的匹配數據,然而真正的正則表達式要比它復雜的多,同時正則表達式所具備的功能也遠比想象中的要豐富。

      那么在Python中如何正確的使用正則表達式呢?

      正則表達式隱含在Python的re模塊之中,當我們使用正則表達式的時候,首先要調用re模塊。

      re模塊導入

      import re

      同時正則表達式的表示是使用re模塊中的compile()方法。向該方法中傳入一個字符串的值來表達正則表達式,它將返回一個Regex模式對象,這個對象就表示了將要匹配的內容的正則表達式格式。

      compike()方法正則表達式的表示

      telRegex=re.compile(r'\d\d\d-\d\d\d\d-\d\d\d\d')

      那么我們在設定好正則表達式之后,該如何讓他進行文本匹配呢?

      Regex對象的search()方法查找要尋找的字符串,尋找該正則表達式所有符合條件的匹配。

      如果我們輸入的字符串中沒有類似的匹配,Search()方法將返回None(空值),如果找到了匹配,則search()方法將返回一個Match對象。其中mo是一個通用的名稱,它可以用于Match對象。

      Search()方法匹配文本

      telRegex=re.compile(r'\d\d\d-\d\d\d\d-\d\d\d\d') mo = telRegex.search('she tel is:123-4567-8910')

      與此同時,Match對象有一個group()方法,它返回被查找的字符串中實際匹配的文本。

      在交互式環境下,輸入以下代碼就會呈現相應的效果,

      group()方法輸入匹配文本

      mo = telRegex.search('she tel is:123-4567-8910') print(mo.group())

      Python教程之正則表達式詳解(基礎篇)

      由此就可以看出,通過正則表達式來匹配尋找文本中的內容,比以往普通的方法要簡單而方便的多。

      同時,大灰狼也為大家總結了正則表達式匹配的具體方法步驟:

      用import.re導入正則表達式模塊

      用re.compile()函數創建一個Regex對象(在此記得要使用原始字符串r)

      向Regex對象的search()方法傳入想要查找的字符串,它將返回一個Match對象

      調用Match對象的group()方法返回實際匹配文本的字符串

      匹配文本中的電話號碼具體的實現代碼如下:

      文本電話號碼匹配

      import re

      telRegex=re.compile(r'\d\d\d-\d\d\d\d-\d\d\d\d') mo = telRegex.search('she tel is:123-4567-8910') print(mo.group())

      以上就是正則表達式的最基本的使用方法,但正則表達式的使用過程中,還會使用到很多方法,如大小寫字母、特殊字符、空格換行符等類型的匹配。

      我也會陸續在之后的文章中和大家分享Python中正則表達式的深入應用。

      覺得有用記得關注分享,大灰狼陪你一起進步!

      Python 正則表達式

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:C++高級教程之文件和流
      下一篇:Redis-14Redis超時命令
      相關文章
      亚洲bt加勒比一区二区| 亚洲熟妇无码av另类vr影视| 久久精品国产亚洲αv忘忧草 | 久久亚洲中文字幕精品一区| 亚洲av无码不卡私人影院| 亚洲一区二区三区在线观看网站| 亚洲中文字幕人成乱码| 亚洲色图视频在线观看| 亚洲精品中文字幕无码AV| 久久国产亚洲高清观看| 亚洲精品中文字幕无码AV| 亚洲国产成人久久综合一区| 亚洲丝袜中文字幕| 亚洲中文字幕无码久久2020| 亚洲乱色伦图片区小说| 日本亚洲中午字幕乱码| 亚洲福利在线播放| 国产亚洲精品高清在线| 亚洲日韩小电影在线观看| 亚洲成AV人片在线观看ww| 亚洲国产人成网站在线电影动漫 | 亚洲永久永久永久永久永久精品| 亚洲人成网站影音先锋播放| 亚洲精品第一国产综合精品| 亚洲一级黄色大片| 亚洲日韩精品A∨片无码加勒比| 亚洲成av人片天堂网无码】| yy6080亚洲一级理论| 亚洲一区二区三区在线视频| 亚洲日韩国产精品第一页一区| 国产A在亚洲线播放| 日韩精品亚洲人成在线观看| 亚洲区视频在线观看| 亚洲一日韩欧美中文字幕在线| 在线观看免费亚洲| 亚洲中文字幕日产乱码高清app| 亚洲AV无码乱码国产麻豆穿越 | 亚洲1234区乱码| 国产av无码专区亚洲av毛片搜| 国产99久久亚洲综合精品| 久久久久亚洲精品男人的天堂|