1,\d可以匹配乙個數字,\w可以匹配乙個字母或數字
『00\d』可以匹配』007』,但無法匹配』00a』;2,.可以匹配任意字元『\d\d\d』可以匹配』010』;
『\w\w\d』可以匹配』py3』;
『py.』可以匹配』pyc』、』pyo』、』py!』等等。3,*表示任意個字元(包括0個),用+表示至少乙個字元,用?表示0個或1個字元,用表示n個字元,用表示n-m個字元
\d\s+\d。4,用表示範圍\d表示匹配3個數字,例如』010』;
\s可以匹配乙個空格(也包括tab等空白符),所以\s+表示至少有乙個空格,例如匹配』 『,』 『等;
\d表示3-8個數字,例如』1234567』。
[0-9a-za-z_]可以匹配乙個數字、字母或者下劃線;5,a|b可以匹配a或b[0-9a-za-z_]+可以匹配至少由乙個數字、字母或者下劃線組成的字串,比如』a100』,』0_z』,』py3000』等等;
[a-za-z_][0-9a-za-z_]*可以匹配由字母或下劃線開頭,後接任意個由乙個數字、字母或者下劃線組成的字串,也就是python合法的變數;
[a-za-z_][0-9a-za-z_]更精確地限制了變數的長度是1-20個字元(前面1個字元+後面最多19個字元)。
(p|p)ython可以匹配』python』或者』python』6,^表示行的開頭
^\d表示必須以數字開頭7,$表示行的結束
\d$表示必須以數字結束1,使用r字首,就可以不考慮轉義
s = r』abc-001』 匹配 『abc-001』2,判斷是否匹配成功s = 『abc\-001』 匹配 『abc-001』
test = 『使用者輸入的字串』3,切分字串if re.match(r』正規表示式』, test):
print(『ok』)
else:
print(『failed』)
普通方法:』a b c』.split(』 『) 結果:[『a』, 『b』, 」, 」, 『c』]4,提取子串,用()表示的就是要提取的分組(group)正規表示式:re.split(r』\s+』, 『a b c』) 結果:[『a』, 『b』, 『c』]
m = re.match(r』^(\d)-(\d)$』, 『010-12345』)5,正則匹配預設是貪婪匹配,也就是匹配盡可能多的字元m.group(0) ==> 『010-12345』
m.group(1) ==> 『010』
m.group(2) ==>』12345』
group(0)永遠是原始字串,group(1)、group(2)……表示第1、2、……個子串
參考廖雪峰的官方**的python教程re.match(r'^(\d+)(0*)$', '102300').groups()
==>(『102300』, 」)加個?就可以讓\d+採用非貪婪匹配
re.match(r'^(\d+?)(0*)$', '102300').groups()
==>(『1023』, 『00』)
Python 正規表示式學習(二)正規表示式語法
一,單一字元匹配 1 匹配任意字元 import re res re.match r a.abcd print res.group 列印結果 abc一點.表示匹配任意的字元。上面的 表示匹配a後面的任意兩個字元。必須從a開始。若寫成 b.則會發生錯誤。2 匹配指定字元 如 0 9a za z 表示 ...
python正規表示式學習
今天學習了python中有關正規表示式的知識。關於正規表示式的語法,不作過多解釋,網上有許多學習的資料。這裡主要介紹python中常用的正 則表示式處理函式。re.match 嘗試從字串的開始匹配乙個模式,如 下面的例子匹配第乙個單詞。import re text jgood is a handso...
python正規表示式學習
python 中的re 模組 正規表示式 就個人而言,主要用它來做一些複雜字串分析,提取想要的資訊 學習原則 夠用就行,需要的時候在深入 現總結如下 正規表示式中特殊的符號 表任意字元 表string起始 表string 結束 跟在字元後面表示,0個 多個,1個 多個,0個或者1個 符合條件的情況下...