正則表達(dá)式,又稱(chēng)正規(guī)表示式、正規(guī)表示法、正規(guī)表達(dá)式、規(guī)則表達(dá)式、常規(guī)表示法(英語(yǔ):Regular Expression,在代碼中常簡(jiǎn)寫(xiě)為regex、regexp或RE),是計(jì)算機(jī)科學(xué)的一個(gè)概念。正則表達(dá)式使用單個(gè)字符串來(lái)描述、匹配一系列匹配某個(gè)句法規(guī)則的字符串。在很多文本編輯器里,正則表達(dá)式通常被用來(lái)檢索、替換那些匹配某個(gè)模式的文本。
# 需求
# 定義一個(gè)函數(shù),用于判斷輸入的手機(jī)號(hào)是否合法
# 并判斷它的運(yùn)營(yíng)商
# 思路步驟:
# 1.首先了解三大運(yùn)營(yíng)商的號(hào)段分布
# 2.獲取用戶(hù)輸入內(nèi)容
# 3.判斷輸入是否是一個(gè)手機(jī)號(hào)
# 4.如果手機(jī)號(hào)合法,判斷該手機(jī)號(hào)段的運(yùn)營(yíng)商
# 5.輸出
import re
def phone(): n = input("請(qǐng)輸入一個(gè)手機(jī)號(hào):") if re.match(r'1[3,4,5,7,8]/d{9}',n): print("您輸入的的手機(jī)號(hào)碼是:/n",n) #中國(guó)聯(lián)通: # 130,131,132,155,156,185,186,145,176 if re.match(r'13[0,1,2]/d{8}',n) or / re.match(r"15[5,6]/d{8}",n) or / re.match(r"18[5,6]",n) or / re.match(r"145/d{8}",n) or / re.match(r"176/d{8}",n): print("該號(hào)碼屬于:中國(guó)聯(lián)通") #中國(guó)移動(dòng) # 134, 135 , 136, 137, 138, 139, 147, 150, 151, # 152, 157, 158, 159, 178, 182, 183, 184, 187, 188; elif re.match(r"13[4,5,6,7,8,9]/d{8}",n) or / re.match(r"147/d{8}|178/d{8}",n) or / re.match(r"15[0,1,2,7,8,9]/d{8}",n) or / re.match(r"18[2,3,4,7,8]/d{8}",n): print("該號(hào)碼屬于:中國(guó)移動(dòng)") else: #中國(guó)電信 #133,153,189 print("該號(hào)碼屬于:中國(guó)電信") else: print("請(qǐng)輸入正確的手機(jī)號(hào)") if __name__ == '__main__': phone()# 運(yùn)行效果如下:

以上這篇Python正則匹配判斷手機(jī)號(hào)是否合法的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持武林站長(zhǎng)站。
新聞熱點(diǎn)
疑難解答
圖片精選