python正規表示式(import re)

2021-09-09 06:33:21 字數 1555 閱讀 2505

re.match函式

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

import re

print(re.match('www', 'www.runoob.com').span()) # 在起始位置匹配

print(re.match('com', 'www.runoob.com')) # 不在起始位置匹配

輸出:

(0, 3)

none

#!/usr/bin/python3

import re

line = "cats are smarter than dogs"

# .* 表示任意匹配除換行符(\n、\r)之外的任何單個或多個字元

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

if matchobj:

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

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

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

else:

print ("no match!!")

輸出:

matchobj.group() : cats are smarter than dogs

matchobj.group(1) : cats

matchobj.group(2) : smarter

re.search方法

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

re.match與re.search的區別

re.match只匹配字串的開始,如果字串開始不符合正規表示式,則匹配失敗,函式返回none;而re.search匹配整個字串,直到找到乙個匹

re.sub用於替換字串中的匹配項

import re

phone = "2004-959-559 # 這是乙個**號碼"

# 刪除注釋

num = re.sub(r'#.*$', "", phone)

print ("**號碼 : ", num)

# 移除非數字的內容

num = re.sub(r'\d', "", phone)

print ("**號碼 : ", num)

re.l :表示忽略大小寫

re.l: 表示特殊字符集 \w, \w, \b, \b, \s, \s 依賴於當前環境

re.m 多行模式

re.s 即為』 . 『並且包括換行符在內的任意字元(』 . 『不包括換行符)

re.u 表示特殊字符集 \w, \w, \b, \b, \d, \d, \s, \s 依賴於 unicode 字元屬性資料庫

re.x 為了增加可讀性,忽略空格和』 # '後面的注釋

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