python正規表示式

2021-09-09 07:16:16 字數 2143 閱讀 3073

正規表示式是乙個特殊的字串行,它能幫助我們方便的檢查乙個字串是否與某種模式匹配

re.match嘗試從字串的起始位置匹配乙個模式,如果在起始位置未匹配成功,match()就返回none。

語法:

re.match(pattern, string, flags=0)
舉例:

執行結果:

還可以用兩個匹配物件方法

方法描述

group(num=0)

匹配的整個表示式的字串,group() 可以一次輸入多個組號,在這種情況下它將返回乙個包含那些組所對應值的元組

groups()

返回乙個包含所有小組字串的元組,從 1 到 所含的小組號

使用舉例:

import re

line = "cats are smarter than dogs"

obj = re.match(r'(.*) are (.*?) .*', line, re.m | re.i)

if obj:

print("matchobj.group() : ", obj.group())

print("matchobj.group(1) : ", obj.group(1))

print("matchobj.group(2) : ", obj.group(2))

else:

print("no match!!")

re.search 掃瞄整個字串並返回第乙個成功的匹配

函式語法:

re.search(pattern, string, flags=0)
還是上面的例子:

執行結果:

用group()方法:

import re

line = "cats are smarter than dogs"

obj = re.search(r'(.*) are (.*?) .*', line, re.m | re.i)

if obj:

print("searchobj.group() : ", obj.group())

print("searchobj.group(1) : ", obj.group(1))

print("searchobj.group(2) : ", obj.group(2))

else:

print("no search!!")

re.match與re.search的區別re.match只匹配字串的開始,如果字串開始不符合正規表示式,則匹配失敗,函式返回none

re.search匹配整個字串,直到找到乙個匹配

import re

line = 'cats are smarter than dogs'

matchobj = re.match(r'dogs',line,re.m|re.i)

if matchobj:

print("match",matchobj.group())

else:

print("no match")

searchobj = re.search(r'dogs',line,re.m|re.i)

if searchobj:

print("search",searchobj.group())

else:

print("no search")

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模組的講解很簡單易懂,內容不多但起碼把人領進門了,...