08 python之正規表示式

2021-08-14 14:25:48 字數 1785 閱讀 7166

正規表示式,用來對字串進行篩選,排查.

不是已經有了字串的切分,擷取,值查索引,索引查值等操作了?為啥還要有正規表示式勒.

因為懶.嫌棄用字串的方法太麻煩.

給個例子吧!檢查乙個號碼是否符合規格.

re.search(r"^1[3-9]\d$","13525464648")

可能初學者看不明白.主要是告訴大家用正則就是那麼簡單.若用字串方法會用很多個if語句進行判斷,很麻煩.

好啦,我們來學習它吧.

第一步:用正規表示式需要匯入re模組(import re)

第二部:正規表示式有三個找函式

1.re.match()2.re.search()3.re.findall()他們都有是三個引數.

引數1:正規表示式引數2:原字串

引數3:標誌flag(可不寫),主要記住:re.i 忽略大小寫     re.m  多行匹配,是否影響^和$ re.s 使.匹配包括換行符在內的任何字元

第三部:講講上述引數1的正規表示式.

上述的正規表示式的符號需要熟悉.基本所有的正規表示式,都是用這些操作符組成.弄清楚這幾張的知識,再看看下面的例子吧.

qq_number = input("

請輸入你的

qq號碼

:")#有5-11位的qq

qq_regular = r"^[1-9]\d$"

qq_res = re.search(qq_regular,qq_number)

if qq_res == none:

print("

你輸入的

qq不符合要求

!")else:

print("

你輸入的

qq符合要求

!") break

birthday_data = input("

請輸入你的出生日期

:")birthday_regular = r"(((1\d)|(200\d)|(201[0-7])).(0\d)|(1[0-2]).(([0-2]\d)|(3[01])))"

birthday_res = re.search(birthday_regular,birthday_data)

if birthday_res == none:

print("

你輸入的出生日期不符合要求

")else:

print("

你輸入的出生日期符合要求

") break

上述講解的是正規表示式的編寫.下面在為大家介紹介紹,正規表示式操作字串:

字串分組:

字串修改和替換:

分組操作:

編譯:

python的正規表示式大致知識點都在這裡,希望對大家有幫助.

正規表示式08 python貪婪和非貪婪

python裡數量詞預設是貪婪的 在少數語言裡也可能是預設非貪婪 總是嘗試匹配盡可能多的字元 非貪婪則相反,總是嘗試匹配盡可能少的字元。在 後面加上?使貪婪變成非貪婪。s this is a number 234 235 22 423 r re.match d d d d s r.group 1 4...

Python之正規表示式

正規表示式正規表示式主要用來匹配字串,例如 判斷乙個字串是否是乙個合法的 思想是用描述性的語言給字串乙個規則。re模組中的match函式提供了這種功能,若匹配成功則返回匹配物件,否則返回none。一 語法 d 表示匹配數字 w 表示匹配字母或數字 可以匹配任意字元 s可以匹配乙個空格或者tab 特殊...

Python之正規表示式

正規表示式元字元如下 匹配除換行符以外的所以字元 規定匹配模式必須出現在目標字串的開頭,例如 hell hello hellboy 規定匹配模式必須出現在目標字串的結尾,例如 ar car bar 其前乙個字元必須在目標物件中連續出現零次或多次 其前乙個字元必須在目標物件中連續出現一次或多次 其前乙...