match和findall的區別以及有括號和無括號的區別
strvar = "hello\n\nworld
"find_re = re.compile("
hello[.|\n]*([\s]*)");
rs =find_re.match(strvar);
rs.groups()
#輸出('world',)
rs =find_re.findall(strvar);
for x in
rs:
print x;
#輸出world
match是查詢到匹配的字串,也就是括號內的字串,match應該是從乙個字串裡面過濾出我們括號內需要的字串,所以準確來講match更像是過濾操作
findall則是從乙個字串裡面查詢到對應的字串,直到遇見換行符或者結束符
findall會查詢所有匹配的文字,當找到第乙個匹配的後,會從第乙個匹配的字串結束位置開始查詢
如果上面我們在compile的時候把[.|\n]改成[.],那麼正則只會查詢到hello\n就停止,這點上感覺有點類似於sed了
記 正規表示式學習
1 符號.匹配除斷行外任意乙個字元。2 w 匹配阿拉伯數字 英文大小寫字母和下劃線。w 匹配被 w排除在外的字元 w的補集 3 d 匹配阿拉伯數字。d 匹配非阿拉伯數字 d的補集 4 s 匹配空白字元 空格 製表符 斷行等。s 匹配被 w排除在外的字元 s的補集 5 unicode 萬國碼,用數字代...
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...