python正規表示式(下)

2021-10-12 14:31:43 字數 2050 閱讀 9045

編譯標誌 —— flag匹配模式

分組 —— ()字元

csv模組

方法描述

返回值compile(pattern, flags=0)

根據包含正規表示式的字串建立物件

re物件

search(pattern, string, flags=0)

在string中查詢

第乙個匹配到的物件或none

match(pattern, string, flags=0)

在string開始處匹配

在string開始匹配到的物件或者none

findall(pattern, string, flags=0)

列出string的所有匹配項

所有匹配到的string列表

sub(pattern, repl, string, count=0, flags=0)

將string中所有的pattern匹配項用repl替換

完成替換後的新string

split(pattern, string, maxsplit=0,flags=0)

根據匹配項來分割string

分割後的string列表

finditer(pattern, string, flags=0)

將string的所有匹配項變成迭代器

迭代器物件

x = re.

compile

(r'a-z'

)print

(x)# re.compile(r'a-z')

re.split(r'[a-z]'

,'0a1b2c3d4'

)# ['0a1b2c3d4']

re.split(r'[a-z]'

,'0a1b2c3d4'

,flags = re.i)

# ['0', '1', '2', '3', '4']

re.split(r'[a-z]'

,'0a1b2c3d4'

,maxsplit=2)

# ['0', '1', '2c3d4']

re.sub(r'[a-h]'

,'z'

,'0a1b2c3d4'

)# '0a1b2c3d4'

re.sub(r'[a-h]'

,'z'

,'0a1b2c3d4'

)# '0z1z2z3z4'

re.sub(r'[a-h]'

,'z'

,'0a1b2c3d4'

,count=2)

# '0z1z2c3d4'

匹配模式

含義re.a,re.ascii

使預定義字符集(如:\w, \s, \d等)只匹配ascii字元

re.i,re.ignorecase

忽略大小寫匹配

re.l,re.locale

由當前語言區域決定大小寫\w, \b的敏感匹配

re.m,re.multiline

多行匹配,影響』 ^ 『和』 $ 』

re.s,re.dotall

使(.)匹配任意字元,包括換行符

re.x,re.verbose

允許編寫更具可讀性、更友好的正規表示式

test =

result = re.search(r'.+(\$\d+).+(\$\d+)'

,test)

result.group(

)result.group(0)

result.group(1)

# '$30'

result.group(2)

# '$20'

result.groups(

)# ('$30', '$20')

常用方法

方法含義

資料型別

writerow

寫入單行輸資料(需配合遍歷使用)

列表或元組

writerows

寫入多行資料

列表或元組

python正規表示式元字元 正規表示式

字元 描述將下乙個字元標記為乙個特殊字元 或乙個原義字元 或乙個 向後引用 或乙個八進位制轉義符。例如,n 匹配字元 n n 匹配乙個換行符。序列 匹配 而 則匹配 匹配輸入字串的開始位置。如果設定了 regexp 物件的 multiline 屬性,也匹配 n 或 r 之後的位置。匹配輸入字串的結束...

Python 正規表示式

1.在python中,所有和正規表示式相關的功能都包含在re模組中。2.字元 表示 字串的末尾 如 road 則表示 只有當 road 出現在乙個字串的尾部時才會匹配。3.字元 表示 字元中的開始 如 road 則表示 只有當 road 出現在乙個字串的頭部時才會匹配。4.利用re.sub函式對字串...

Python正規表示式

學習python自然而然就不得不面對正規表示式這個難題。當初在沒有學習python之前,自己也曾經嘗試著學習過正規表示式,但是那時候感覺很麻煩,很難懂,結果就是不了了之。但是現在學習python我用的書是 python基礎教程 第二版 這本書中對re模組的講解很簡單易懂,內容不多但起碼把人領進門了,...