正規表示式

2022-08-27 06:00:14 字數 2134 閱讀 8684

1,正規表示式:是用來幹嘛的?

匹配字串的

正規表示式是一種小型的,高度專業化的程式語言,(在python中)它內嵌在python中,並通過re模組實現,被

編譯成一系列的位元組碼,然後由c編寫的匹配函式。

2, 元字元 11個

2.1    點 '.'  通配 符, 乙個點只能匹配(代指任意)一位.

2.2        '^' 從開始匹配'

2.3      '$ ' 從結尾匹配'

2.4      '*'   '重複匹配[0,oo]零到無窮

print("----'*'重複匹配[0,oo]零到無窮------")

ret = re.findall('ba*','urastafadfabaaaaaa')

print(ret)

2.5  print("----'+'重複匹配[1,oo]零到無窮------")

ret = re.findall('ab+','kjldfha') #沒有b則不能匹配,因為沒有b

print(ret)

ret = re.findall('ab+','kjldfhab') #有b則能匹配,

print(ret)

ret = re.findall('a+b','aaaabhqhabfb') #有ab則能匹配,

print(ret)

結論:  * 等於

+ 等於

? 等於

print("----''字符集內的匹配範圍------")

ret = re.findall('[a-z]','adx')

print(ret)

#字符集: 取消元字元的特殊功能,但(\,^,-另外)

print("----''字符集內的匹配範圍------")

ret = re.findall('[w,*,.]','ad.x*')

print(ret)

ret = re.findall('[1-9,a-z,a-z]','adfdsfds5sd9x*')

print(ret)

#^放在中是取反

ret = re.findall('[^t]','atdfdsfds5sd9x*') #取反,除了t外全部匹配

print(ret)

ret = re.findall('[^4,5]','at4dfds5fd6s,5sd9x*') #取反,除了4,5外全部匹配

print(ret)

#\ 後面跟元字元去除特殊功能,如\. 是去除 .的功能

# 後面跟普通字元實現特殊功能

# \d 匹配任何十進位制,相當與【0-9】

# \d 匹配任何非數字字元,相當與【^0-9】

#\s 匹配任何空白字元,相當與[\t\n\r\f\v]

#\d 匹配任何非空白字元,相當與[^\t\n\r\f\v]

#\w 匹配任何字母數字字元,相當與[a-za-z0-9_]

#\w 匹配任何非字母數字字元,相當與[^a-za-z0-9_]

#\b: 匹配乙個單詞邊界(或特殊字元),也就是指單詞和空間的位置

print("----'\'匹配範圍------")

ret = re.findall('\d','ffad454354354354354dsfa32131255433252fdsfa')

print(ret)

ret = re.findall(r'i\b','hello ,i am a li$t') #單詞邊界i,(或特殊字元$)

print(ret)

#正規表示式的方法

1,findall() :所有結果都返回乙個列表

2,search(): 返回乙個物件(object),物件可以呼叫group()返回結果

3,match(): 只在字串開始匹配匹配,物件可以呼叫group()返回結果

ret = re.match('asd', 'asdfhdaasd')

print(ret) #<_sre.sre_match object; span=(0, 3), match='asd'>

4,split()

正規表示式 正規表示式 總結

非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...

正規表示式 表示式

網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 interneturl a za z s 或 http w w w 手機號碼 13 0 9 14 5 7 15 0 1 2 3 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 號碼 x x x...

Linux正規表示式 編寫正規表示式

為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...