正規表示式學習

2021-10-24 12:41:53 字數 1652 閱讀 2771

第乙個程式

import re 

key=r"helll "

p1=r"(?<=(h[1-6])>)[^<>]+?(?=)"

#[^<>] 設定成為非字元

pattern=re.

compile

(p1)

#返回乙個迭代器

objs=pattern.finditer(key)

list=[

]for obj in objs:

list))

print

(list

)

['hello world ', 'hello world ', 'hello error ']
#郵箱的規則是

#數字、字母、下劃線 +@ +數字、英文(小寫)+.+英文(長度一般是2—4)

key=r'[email protected]'

# ^ 代表開始 $表示結束

pa=r"^\w+@[a-z0-9]+\.[a-z]$"

pattern1=re.

compile

(pa)

print

(pattern1.findall(key)

)

['[email protected]']
#手機號的規則

#11位數,都是數字。開頭一定是1

key_phone_num=r"17289899995"

p1=r"^1\d$"

pattern=re.

compile

(p1)

print

(pattern.findall(key_phone_num)

)

['17289899995']
##身份證號15位/18位,最後一位有校驗碼

#18位:6位地區碼+8位出生年月+3位順序碼+1位校驗碼

#15位:6位地區碼+6位出生年月+2位順序碼+1位校驗碼

#規則1:除了校驗碼全部為數字

#規則2:首位地區碼不是0

#規則3:中間出生年月位日期

#規則4:校驗碼可以是數字和字母x

key=r"42130219550522081x"

p1=r"^[0-9]\d(18|19|(2\d))\d((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d[0-9xx]$"

pattern1=re.

compile

(p1)

#print(pattern1.finditer(key))

list=[

]for obj in objs:

list

print

(list

)

#運算元

operator=

['+'

,'-'

,'*'

,'/'

]# 運算元數字和括號的組合

format=[

'%d%s%d%s%d%s%d'

,]

正規表示式學習

概念 正規表示式,就是用某種模式去匹配一類字串的乙個公式。基礎 下表列出了所有的元字元和對它們的乙個簡短的描述。簡單例子 vi 命令作用 s g 把乙個或者多個空格替換為乙個空格 s 去掉行尾的所有空格 s 在每一行頭上加入乙個空格 s 0 9 0 9 去掉行首的所有數字字元 s b aeio g ...

正規表示式學習

1.元字元 1 匹配任何單個字元 2 匹配括號中的任何乙個字元 可以再括號中使用連字元 來指定子都的區間來簡化表示,如a 0123456789 c等價於a 0 9 c 3 將 之間括起來的表示式定義為 組 4 將兩個匹配條件進行邏輯 或 運算 z f ood則匹配 zood 或 food 5 匹配0...

正規表示式學習

只是點皮毛,先湊合用著了,順便鄙視一下sqlserver,居然不支援正則。b 元字元,代表著單詞的開頭或結尾,也就是單詞的分界處。d 數字 s 任意的空白符,包括空格,製表符 tab 換行符,中文全形空格等 w 字母或數字或下劃線或漢字等 匹配字串的開始 匹配字串的結束 轉義符 除換行符以外的任意字...