1.正規表示式正規表示式:是一種特殊的字元序列,是電腦科學的乙個概念,主要用於檢索和替換哪些文字符合python中的某個模式,主要借助re模組實現功能靈活性,功能非常合乎邏輯,可以用極其簡單的方法實現對字串的複雜控制, 對於剛接觸的人來說,就有些晦澀難懂了,應用場景,爬蟲驗證手機號、郵箱、身份證號等文字資料清洗操作2.常用功能匯入 RE 模組
import red:表示 0-9 之間的任意數字 +:表示前面的字元可以出現 1 次或多次match 函式
"""re.match(正規表示式,待驗證的字串,正規表示式的修飾符(可選)) function:用於匹配字串是否以指定的正則內容開頭,匹配成功則返回物件,匹配失敗則返回 none"""print(re.match("\\d+", "1234hello")) # print(re.match("\\d+", "hello1234")) # nonere.搜尋功能
"""re.search(正規表示式,待驗證字串,正規表示式的修飾符(可選))) function:用於匹配字串是否包含指定的正則內容,匹配成功則返回物件,匹配失敗則返回 none"""print(re.search("\\d+", "9876hello")) # print(re.search("\\d+", "hello9876")) # print(re.search("\\d+", "hel9876lo")) # print(re.search("\\d+", "hello")) # nonere.findall 函式
"""re.findall(正規表示式,要驗證的字串)的作用:使用正規表示式獲取成功匹配的資料,成功匹配返回乙個列表"""print(re.findall("\\d+", "hello123world987welcome3232")) # ['123', '987', '3232']print(re.findall("\\d+", "helloworld")) #
3.例項
封裝功能判斷手機號是否合法
"""有效手機號碼:1長度為 11 位 2數字 1 以 3 開頭都是數字"""def checkphone(tel): if len(tel) != 11: print("手機號碼的長度不是 11 位數字") return if tel[0] != "1": print("手機號碼不以數字 1 開頭") return if not tel.isdigit():print("手機號碼並不全是號碼。 ") return print("是合法的手機號碼。 ")checkphone("1369264521")checkphone("23692645213")checkphone("1369264521a")checkphone("13692645213"使用正規表示式驗證手機號碼是否合法import reresult = re。search("^1[3-9]\\d$", "13692645213")# result = re.search("^1[3-9]\\d$", "23692645213")# result = re.search("^1[3-9]\\d$", "10692645213")# result = re.search("^1[3-9]\\d$", "13692645a13")if result: print("是合法的手機號碼")else: print("不是合法的手機號碼")執行結果
手機號碼的長度不是11位數字,手機號碼不是號碼,以1開頭的手機號碼也不是全號碼。 是合法的手機號碼。 是合法的手機號碼
**10,000粉絲獎勵計畫