Python3基礎筆記 re模組

2022-09-11 16:33:32 字數 2638 閱讀 6404

參考部落格: py西遊攻關之模組

就其本質而言,正規表示式(或 re)是一種小型的、高度專業化的程式語言,(在python中)它內嵌在python中,並通過 re 模組實現。正規表示式模式被編譯成一系列的位元組碼,然後由用 c 編寫的匹配引擎執行。

importre#

# . 萬用字元,乙個 . 模糊匹配乙個除換行符之外的任意字元

#ret = re.findall('a..in', 'helloalvin')

#print(ret) # ['alvin']##

# ^ 必須以某個字元開始

#ret = re.findall('^a...n', 'alvinhelloawwwn')

#print(ret) # ['alvin']##

# $ 必須以某個字元結尾

#ret = re.findall('a...n$', 'alvinhelloawwwn')

#print(ret) # ['awwwn']##

# * 貪婪匹配 [0, +oo]

#ret = re.findall('abc*', 'abcccc') # 貪婪匹配[0,+oo]

#print(ret) # ['abcccc']##

ret = re.findall('a.*n', 'alvinhelloawwwn')

#print(ret) # ['alvinhelloawwwn'] 貪婪匹配##

# + 貪婪匹配 [1, +oo]

#ret = re.findall('abc+', 'abccc') # [1,+oo]

#print(ret) # ['abccc']##

ret = re.findall('a.+n', 'alvinhelloawwwn')

#print(ret) # ['alvinhelloawwwn'] 貪婪匹配##

# ? 匹配[0,1]

#ret = re.findall('abc?', 'abcccffab') # [0,1]

#print(ret) # ['abc', 'ab']##

{} 自定義重複次數 表示一到正無窮

ret = re.findall('

abc', '

abcccccsccccc')

print(ret) #

['abcccc'] 貪婪匹配

#--------------------------------------------字符集

#ret = re.findall('a[bc]d', 'acd')

#print(ret) # ['acd'] 匹配 b 或 c##

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

#print(ret) # ['a', 'c', 'd']##

ret = re.findall('[.*+]', 'a.cd+')

#print(ret) # ['.', '+'] # 在中,* + 失去原有的作用##

在字符集裡有功能的符號: - ^ \##

ret = re.findall('[1-9]', '45dha3')

#print(ret) # ['4', '5', '3']##

^ 放在表示取反,不取 a 或 b 或 ,

#ret = re.findall('[^ab,]', '45bdha3,')

#print(ret) # ['4', '5', 'd', 'h', '3']##

ret = re.findall('[\d]', '45bdha3')

#print(ret) # ['4', '5', '3']

#\ 的功能

#1、反斜槓後面跟元字元去除其特殊功能

#2、反斜槓後面跟普通字元實現其特殊功能

'''\d 相當於 [0-9]

\d 相當於 [^0-9]

\s 匹配任何空白字元

\s 匹配任何非空字元

\w 匹配任何字母數字字元 [0-9a-za-z]

\w 匹配任何非字母數字字元 [^0-9a-za-z]

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

'''#

ret=re.findall('i\b','i ')

#print(ret)#

ret = re.findall('

\dert

','13ert')

print(ret) #

['3ert']

ret = re.findall('

\dert

','13^ert')

print(ret) #

['^ert']

ret = re.findall('

\s123

', '

123'

)print

(ret)

print(re.findall(r'

i\b', '

hello,i am a hhi$hh'))

print(re.findall(r'

\bi', '

hello, i am a hhi$hh'))

print(re.findall(r'

\\', r'

abf\vaf

'))

python3 常用模組 RE模組

一.常用正規表示式符號和語法 匹配所有字串,除 n以外 表示範圍 0 9 匹配前面的子表示式零次或多次。要匹配 字元,請使用 匹配前面的子表示式一次或多次。要匹配 字元,請使用 匹配字串開頭 匹配字串結尾 re 轉義字元,使後乙個字元改變原來的意思,如果字串中有字元 需要匹配,可以 或者字符集 re...

python3 常用模組 RE模組

一.常用正規表示式符號和語法 匹配所有字串,除 n以外 表示範圍 0 9 匹配前面的子表示式零次或多次。要匹配 字元,請使用 匹配前面的子表示式一次或多次。要匹配 字元,請使用 匹配字串開頭 匹配字串結尾 re 轉義字元,使後乙個字元改變原來的意思,如果字串中有字元 需要匹配,可以 或者字符集 re...

Python3學習筆記18 re模組

python提供re模組,包含所有正規表示式的功能。由於python的字串本身也用 轉義,所以要特別注意 s abc 001 python的字串 對應的正規表示式字串變成 abc 001 因此我們強烈建議使用python的r字首,就不用考慮轉義的問題 s r abc 001 python的字串 對應...