43 正規表示式(1)

2022-05-12 06:08:32 字數 2088 閱讀 5415

1.單字元表示:

/w    =>  字母及數字

/s => 空格,tab,\n,\t這些空白符

2.字元個數:

'''* => 任意個(包括0)

+ => 至少乙個

? => 0或1個

=> n個

=> n~m個

'''3.組合舉例:

'''\d\s+\d => 3個數字,至少乙個空格,3到8數字

'010-12345' => 它的正則是:\d-\d

''''''

[0-9a-za-z_]: 恰好乙個字元,可是09,az,a~z,下劃線。

[0-9a-za-z_]+ : 至少乙個以上字元

[a-za-z_][0-9a-za-z_]* : 乙個字元以及任意個字元

[a-za-z_][0-9a-za-z_] 0-19個符合要求的字元

a|b 匹配a或者b

^x 以x開頭:比如, ^\d 是必須以數字開頭

\(x 以x結尾:比如 \w\) 是必須以數字或者字母結尾

例如,^py$ 既要py開頭又要py結尾,只能是py

'''s = r'abc-001' #r字首標識的字串不考慮轉義字元,\只是代表正則裡面的符號

import re

r1 = re.match(r'^\d-\d\(', '010-12345') #若匹配成功,返回乙個match的instance

print(r1,'\n')

r2 = re.match(r'^\d\-\d\)', '010 12345') #若失敗,返回node

print(r2,'\n')

s1 = re.split(r'\s+', 'a b c') #至少乙個空格就分割

s2 = re.split(r'[\s,]+', 'a,b, c d') #至少乙個空格或者,

s3 = re.split(r'[\s,;]+', 'a,b;; c d') #至少乙個空格或者乙個,或者乙個;

print(s1,'; ', s2,'; ', s3,'\n')

m = re.match(r'^(\d)-(\d)$', '010-12345') #分成兩組,第一組為3個數字,中間以-分割,第二組3-8個數字

print(m,'\n')

print(m.group(0),'\n') #group(0)永遠是字串本身

print(m.group(1),'\n')

print(m.group(2),'\n')

t = '19:05:30' #合法輸入是:時分秒都要求是兩位,也就是00:00:00 ~ 23:59:59

m = re.match(r'^(0[0-9]|1[0-9]|2[0-3]|[0-9]):(0[0-9]|1[0-9]|2[0-9]|3[0-9]|4[0-9]|5[0-9]|[0-9]):(0[0-9]|1[0-9]|2[0-9]|3[0-9]|4[0-9]|5[0-9]|[0-9])$', t)

print(m,'\n')

g = m.groups()

print(g,'\n')

r1 = re.match(r'^(\d+)(0*)\(', '102300').groups() #第一組至少乙個數字,結果直接把102300全匹配了,第二組結尾任意個0,結果是0個0

print(r1,'\n')

r2 = re.match(r'^(\d+?)(0*)\)', '102300').groups() #第一組乙個0,第二組結尾任意個0;再分組

print(r2,'\n')

re_telephone = re.compile(r'^(\d)-(\d)$') #第一組3個數字開頭,中間-分隔,第二組3到8數字結尾

r1 = re_telephone.match('010-12345').groups()

print(r1,'\n')

r2 = re_telephone.match('010-8086').groups()

print(r2,'\n')

正規表示式 1 初識正規表示式

簡單地說,正規表示式就是一套處理字串的規則和方法,以行為單位對字串進行處理,通過特殊的符號的輔助,我們可以快速的過濾,替換某些特定的字串。運維工作中,會有大量訪問日誌,錯誤日誌,大資料。如何能夠快速的過濾出我們需要的內容,這就需要正規表示式。awk,sed,grep egrep 三劍客要想能工作的更...

正規表示式 1 正規表示式基礎

1.正規表示式基礎 正規表示式描述了一種字串匹配的模式,即可以使使用者通過一系列普通字元或特殊字元構建能夠明確描述文字字串的匹配模式,可以用來檢查某個字串是否含有某種子字串,將匹配的子字串做替換或者從某個字串中取出符合某個條件的子字串等。1.1 正規表示式的基本結構 乙個正規表示式就是由普通字元 如...

正規表示式(1)

正規表示式 正則 表示式提供了一種標準的 實用的方式,來分析文字檔案 搜尋並有選擇性地替換出現的紫字串或者文字模式。如果對正規表示式不熟悉的話,可以把它看作ms dos裡的萬用字元,用來指定一組檔案 比如 txt 或者看作sql查詢語句中配合like命令使用的特殊字元 select name,cit...