1.常見表示符:
字元功能
.匹配任意1個字元(除了\n)
[ ]匹配[ ]中列舉的字元
\d匹配數字,即0-9
\d匹配非數字,即不是數字
\s匹配空白,即 空格,tab鍵
\s匹配非空白
\w匹配單詞字元,即a-z、a-z、0-9、_
\w匹配非單詞字元
字元功能
字元功能
^匹配字串開頭
$匹配字串結尾
\b匹配乙個單詞的邊界
\b匹配非單詞邊界
2.常見方法:
>>> import re
# 匹配以12開頭的字串,如果匹配成功,返回乙個物件,匹配失敗則返回none。
>>> print(re.match('12','123456'))
<_sre.sre_match object; span=(0, 2), match='12'>
>>> print(re.match('12','0123456') )
none
# re.match返回的物件擁有group()方法,返回匹配到的字串
>>> re.match('1.?','123456').group()
12
>>> re.search('1.?','ss123456').group()
12>>> re.match('1.?','ss123456').group()
attributeerror
>>> re.findall('1.?','jiao1awo15guan16ren')
['1a', '15', '16']
>>> re.split('1.?','jiao1awo15guan16ren')
['jiao', 'wo', 'guan', 'ren']
>>> re.sub('1.?',' t-t ','jiao1awo15guan16ren')
'jiao t-t wo t-t guan t-t ren'
>>> re.sub(r'}', '\g', '} > 1')
'wol > 1'
3.匹配分組:
字元功能
|匹配左右任意乙個表示式
(ab)
將括號中字元作為乙個分組
\number
引用分組num匹配到的字串
(?p)
分組起別名
(?p=name)
引用別名為name分組匹配到的字串
# 匹配1~100.
>>> re.match("[1-9]?\d$|100","100")
# 匹配是否符合html標籤
>>> re.match(r"<(\w*)><(\w*)>.*", "
")# 匹配是否符合html標籤:方法er
>>> ret = re.match(r"<(?p\w*)><(?p\w*)>.*", "
")>>> ret.group()''
>>> ret.groups()
('html', 'h1')
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模組的講解很簡單易懂,內容不多但起碼把人領進門了,...