正規表示式小練習

2021-09-29 11:23:42 字數 1024 閱讀 7934

1、匹配整數或者小數(包括正數和負數)

-?\d+(.\d+)?

-?表示-匹配0次或一次,\d表示整數,+表示匹配一次或多次,(.\d+)?表示小數

2、匹配年月日日期 格式2018-12-6

1\d-(1[0-2]|0?[1-9])-(3[01]|[12]\d|0?[1-9])$

1.[1-9]表示年是以數字1-9開頭的,\d表示年的位數,[1-9]\d就表示1-2023年之間

2.(1[0-2]|0?[1-9])中|前面的1[0-2]表示從10到12,後面的0?[1-9]表示01-09或者1-9,

(1[0-2]|0?[1-9])表示月,01-12或者1-12

3.(3[01]|[12]\d|0?[1-9])$其中3[01]表示30或31,[12]\d表示從10-29,最後的0?[1-9]表示從

01-09或者是從1-9.整體就表示從01-31或者1-31

3、匹配qq號

[1-9]\d

表示5位到12位qq.第一位為非0

4、11位的**號碼

1[3-9]\d

第一位數字為1,第二位為3-9,後面隨便9位數

5、長度為8-10位的使用者密碼 : 包含數字字母下劃線

\w…最簡單的,不寫解釋了

6、匹配驗證碼:4位數字字母組成的

[\da-za-z]或者[0-9a-za-z]

[ ]裡面的表示數字,或者a-z或者a-z,表示4位

7、匹配郵箱位址

[0-9a-za-z][\w-.]+@[a-za-z0-9-]+(.[a-za-z0-9-]+)*.[a-za-z0-9]

[0-9a-za-z][\w-.]+ @前面必須有內容且只能是字母(大小寫),數字,下劃線,減號,點

[a-za-z0-9-]+(.[a-za-z0-9-]+)* @和最後乙個點之間必須有內容且只能是字母(大小寫),數字,點,減號,且兩個點不能挨著

[a-za-z0-9] 最後乙個點之後必須有內容且內容只能是字母(大小寫),數字長度為大於等於2,小於等於6

1-9 ↩︎

正規表示式練習

取出其中的參考文獻,注意到每行只有乙個參考文獻,所以直接用 re.search regex,line import re with open test2 r as f lines f.readlines regex re.compile r a z reg open refer.txt w for ...

正規表示式練習

1 匹配一段文字中的每行的郵箱 y 123 qq.comaaa 163.combbb 126.comasdfasfs33333 adfcom import reret re.findall w qq 163 126 com y print ret 123 qq.com aaa 163.com bbb...

正規表示式練習

字元描述 匹配前面的子表示式零次或多次。例如,zo 能匹配 z 以及 zoo 等價於。匹配前面的子表示式一次或多次。例如,zo 能匹配 zo 以及 zoo 但不能匹配 z 等價於 匹配前面的子表示式零次或一次。例如,do es 可以匹配 do does 中的 does doxy 中的 do 1 va...