新聞中心
小編經(jīng)常能在后臺(tái)收到留言,其中大部分小伙伴詢問關(guān)于正則表達(dá)式,小編結(jié)合很多內(nèi)容,整理出來這篇通俗易懂,直擊概要內(nèi)容。大家可以來了解下。

創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括常寧網(wǎng)站建設(shè)、常寧網(wǎng)站制作、常寧網(wǎng)頁制作以及常寧網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,常寧網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到常寧省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
正則表達(dá)式簡介:
正則表達(dá)式(regex)用于探索給定字符串中的固定模式。我們想找到的模式可以是任何東西??梢詣?chuàng)建類似于查找電子郵件或手機(jī)號(hào)碼的模式。還可以創(chuàng)建查找以a開頭、以z結(jié)尾的字符串的模式。
創(chuàng)建模式:
使用正則表達(dá)式時(shí),首先需要學(xué)習(xí)的是如何創(chuàng)建模式。接下來將對(duì)一些最常用的模式進(jìn)行逐一介紹??梢韵氲阶詈唵蔚哪J绞且粋€(gè)簡單的字符串。
pattern = r'times' string = "It was the best of times, it was the worst of times." print(len(re.findall(pattern,string)))
為了幫助創(chuàng)建復(fù)雜的模式,正則表達(dá)式提供了特殊的字符/操作符。下面來逐個(gè)看看這些操作符。
1、操作符
這在第一個(gè)例子中使用過,可用于找到符合這些方括號(hào)中條件的一個(gè)字符。
[abc]-將查找文本中出現(xiàn)的所有a、b或c
[a-z]-將查找文本中出現(xiàn)的所有從a到z的字母
[a-z0–9A-Z]-將查找文本中出現(xiàn)的所有從A到Z的大寫字母、從a到z的小寫字母和從0到9的數(shù)字。
Python中運(yùn)行下列代碼:
pattern = r'[a-zA-Z]' string = "It was the best of times, it was the worst of times." print(len(re.findall(pattern,string)))
2、點(diǎn)算符
點(diǎn)運(yùn)算符(.) 用于匹配除換行符以外的任何字符。運(yùn)算符優(yōu)點(diǎn)是,它們可以結(jié)合使用。
3、一些元序列
在使用正則表達(dá)式時(shí),一些模式會(huì)經(jīng)常被用到。因此正則表達(dá)式為這些模式創(chuàng)建了一些快捷方式。最常用的快捷方式如下:
\w,匹配任何字母、數(shù)字或下劃線。相當(dāng)于[a-zA-Z0–9_]
\W,匹配除字母、數(shù)字或下劃線以外的任何內(nèi)容。
\d,匹配任何十進(jìn)制數(shù)字。相當(dāng)于[0–9]。
\D,匹配除十進(jìn)制數(shù)字以外的任何數(shù)字。
正則表達(dá)式函數(shù)
目前為止,只使用了 re包中的findall 函數(shù),其實(shí)還有很多其他函數(shù)。下面來逐個(gè)介紹。
1、findall
上面已經(jīng)使用了 findall。這是我最常使用的一個(gè)。下面來正式認(rèn)識(shí)一下這個(gè)函數(shù)吧。
輸入:模式和測試字符串
輸出:字符串列表。
#USAGE: pattern = r'[iI]t' string = "It was the best of times, it was the worst of times." matches = re.findall(pattern,string) for match in matches: print(match)------------------------------------------------------------ It It 2、搜索 輸入:模式和測試字符串 輸出:首次匹配的位置對(duì)象。 #USAGE: pattern = r'[iI]t' string = "It was the best of times, it was the worst of times." location = re.search(pattern,string) print(location) ------------------------------------------------------------ <_sre.SRE_Match object; span=(0, 2), match='It'> 可以使用下面編程獲取該位置對(duì)象的數(shù)據(jù): print(location.group()) ------------------------------------------------------------ 'It'
3、替換
這個(gè)功能也很重要。當(dāng)使用自然語言處理程序時(shí),有時(shí)需要用X替換整數(shù),或者可能需要編輯一些文件。任何文本編輯器中的查找和替換都可以做到。
輸入:搜索模式、替換模式和目標(biāo)字符串
輸出:替換字符串
string = "It was the best of times, it was the worst of times." string = re.sub(r'times', r'life', string) print(string) ------------------------------------------------------------ It was the best of life, it was the worst of life.
python正則表達(dá)式應(yīng)用范圍:
1、PAN編號(hào)
2、查找域名
3、查找電子郵件地址
下面的正則表達(dá)式用于在長文本中查找電子郵件地址。
match=re.findall(r'([\w0-9-._]+@[\w0-9-.]+[\w0-9]{2,3})',string)以上就是關(guān)于正則表達(dá)式的詳細(xì)解析了,如需更多python實(shí)用知識(shí),點(diǎn)擊進(jìn)入PyThon學(xué)習(xí)網(wǎng)教學(xué)中心。
新聞標(biāo)題:創(chuàng)新互聯(lián)Python教程:python正則表達(dá)式是什么?怎么用?
鏈接URL:http://www.dlmjj.cn/article/dpsjdoh.html


咨詢
建站咨詢
