11位手機號正則表達式匹配「正則表達式匹配手機號碼」

0基礎學python(82)

經過上一節比較枯燥的基礎內容,今天來看看如何利用正則表達式在Python中進行具體操作。

在Python中使用正則表達式,首先要導入一個re模塊。re就是Regular Expression(正則表達式)的縮寫,所以導入re模塊就是導入”正則表達式模塊”。

導入re模塊的代碼比較簡單,它是這樣的:

Import re

今天的學習內容就是使用正則表達式匹配字元串。

匹配字元串的實際意義就是查找、查詢字元串。在Python中,使用正則表達式匹配字元串,多數情況下,匹配成功後立即返回Match對象,不成功就返回None值。

None值就是假值,這個不用多述。

Match對象是什麼呢?就是用一對首位標籤”<>”,包含了一次匹配的結果,其中包含了很多的信息,包括有:待匹配的字元串文本、使用的正則表達式、搜索起始位置、搜索結束位置等等。

Match對象可以通過以下幾種方法來實現:

“.group() 獲得匹配的字元串內容”

“.start() 匹配字元串在原始字元串的開始位置”

“.end() 匹配字元串在原始字元串的結束位置”

“.span() 返回(.start(), .end())”

現在來正式介紹Python中使用正則表達式匹配字元串匹配字元串的具體操作方法:

1、match()方法

這個方法的用途是匹配字元串開頭的字元,它從字元串的起始處開始匹配,匹配成功後立即返回Match對象,不匹配則返回None值,它的語法格式如下:

re.match(pattern,string,[flags])

方法名關鍵字match前一定要加上re模塊名稱,並使用”.”連接;

小括弧內有三個參數使用逗號”,”分隔;

第一個參數就是正則表達式pattern(模板),屬於必填參數;

第二個參數是要匹配的字元串string,也屬於必填參數;

第三個參數是標誌位,用來控制匹配的方式,屬於可選參數,並且Python中的常用標誌如下圖所示:Python中使用re模塊實現正則表達式的匹配字元串操作

例圖1

來看一個例子:匹配字元串是否已以”i_”開頭,詳見下圖:Python中使用re模塊實現正則表達式的匹配字元串操作

例圖2

可以看到,第一次匹配的時候沒有區分字母大小寫,匹配成功了返回為Match對象,並使用Match對象三種操作方法得到了起始位置、結束位置和匹配數據。

第二次匹配去掉了第三個可選的參數,結果返回了None值,後面對Match對象的操作方法就無效了,出現了異常。

2、search()方法

這個方法是在整個字元串中找到第一個匹配字元,匹配成功返回Match對象,不匹配則返回None值,它的語法格式如下:

re.search(pattern,string,[flags])

由於它的語法參數和match()方法是一樣的,所以就直接在上面的例子中的字元串中開頭加一點東西,再作為例子來實驗一下,詳見下圖:Python中使用re模塊實現正則表達式的匹配字元串操作

例圖3

可以看到,它的匹配字元雖然不在字元串的開頭,但是第一次匹配時也搜索出來了,第二次則是因為沒有設定不區分大小寫,所以沒有與大寫的字母匹配,返回了None值。

3、findall()方法

這種方法的功能就比前兩種要強大一些,它是匹配字元串中所有的合乎規則的字元,並將所有的匹配結果返回成為一個列表,匹配成功就返回一個有內容的列表,不成功則返回一個空列表。語法格式如下所示:

re.findall(pattern,string,[flags])

格式很雷同,參數用法也和前兩種方法一樣,直接上例子,詳見下圖:Python中使用re模塊實現正則表達式的匹配字元串操作

例圖4

可以看到,findall()方法的執行結果和前兩種方法是完全不同的。

接下來用兩個小場景模擬實例,來看看正則表達式匹配字元串在生活中可以有什麼應用。

第一個場景是模擬查詢手機號碼是否屬於中國電信,來看下圖代碼:Python中使用re模塊實現正則表達式的匹配字元串操作

例圖5

第二個場景是搜索輸入內容中有沒有自己感興趣的語句,最終我選擇了搜索關於”錢”的內容,請看下圖:Python中使用re模塊實現正則表達式的匹配字元串操作

例圖6

今天的內容就是這些了,感謝大家一直以來的支持,明天開始奉上的是”使用re模塊實現正則表達式的替換字元串操作“的內容,敬請拭目以待。

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/272938.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-17 14:03
下一篇 2024-12-17 14:03

相關推薦

發表回復

登錄後才能評論