re.match 嘗試從字串的開頭匹配乙個模式,如:下面的例子匹配第乙個單詞。
import re
text = "jgood is a handsome boy, he is cool, clever, and so on..."
m = re.match(r"(\w+)\s", text)
if m:
print (m.group(0), '\n', m.group(1))
else:
print ('not match')
re.match的函式原型為:re.match(pattern, string, flags)
flags定義包括:
re.search函式會在字串內查詢模式匹配,只到找到第乙個匹配然後返回,如果字串沒有匹配,則返回none。
import re
text = "jgood is a handsome boy, he is cool, clever, and so on..."
m = re.search(r'\shan(ds)ome\s', text)
if m:
print m.group(0), m.group(1)
else:
print
'not search'
re.search的函式原型為:re.search(pattern, string, flags)
每個引數的含意與re.match一樣。
re.match與re.search的區別:re.match只匹配字串的開頭,如果字串開頭不符合正規表示式,則匹配失敗,函式返回none;而re.search匹配整個字串,直到找到乙個匹配。
re.sub用於替換字串中的匹配項。下面乙個例子將字串中的空格 』 』 替換成 『-』 :
import re
text = "jgood is a handsome boy, he is cool, clever, and so on..."
print (re.sub(r'\s+', '-', text))
re.sub的函式原型為:re.sub(pattern, repl, string, count)
re.sub還允許使用函式對匹配項的替換進行複雜的處理。如:re.sub(r'\s', lambda m: '[' + m.group(0) + ']', text, 0)
;將字串中的空格』 『替換為』[ ]』。
可以使用re.split來分割字串,如:re.split(r』\s+』, text);將字串按空格分割成乙個單詞列表。
re.findall可以獲取字串中所有匹配的字串。如:re.findall(r』\w*oo\w*』, text);獲取字串中,包含』oo』的所有單詞。
可以把正規表示式編譯成乙個正規表示式物件。可以把那些經常使用的正規表示式編譯成正規表示式物件,這樣可以提高一定的效率。下面是乙個正規表示式物件的乙個例子:
import re
text = "jgood is a handsome boy, he is cool, clever, and so on..."
regex = re.compile(r'\w*oo\w*')
print (regex.findall(text)) #查詢所有包含'oo'的單詞
print (regex.sub(lambda m: '[' + m.group(0) + ']', text)) #將字串中含有'oo'的單詞用括起來。
python 正則re模組
1.正則各種字元表示的含義 預設匹配除 n之外的任意乙個字元,若指定flag dotall,則匹配任意字元,包括換行 匹配字元開頭 匹配 號前的字元0次或多次,re.findall ab cabb3abcbbac 結果為 abb ab a 匹配前乙個字元1次或多次,re.findall ab ab ...
正則re模組
匹配任意乙個字元 以某個字元開頭 以某個字元結尾 匹配0次或多次 匹配一次或多次 匹配0次或1次 匹配n次 匹配n次或多次 匹配n次到m次 字符集,非 a z 匹配小寫字母a到z的任意字母一次 a z 匹配除了小寫字母a到z之外的任意字元一次 d 匹配數字0 9,0次或多次 d匹配任何十進位制數,0...
re正則模組
1.正規表示式的常用符號 預設匹配除 n之外的任意乙個字元,若指定flag dotall,則匹配任意字元,包括換行 匹配字元開頭,若指定flags multiline,這種也可以匹配上 r a nabc neee flags re.multiline 匹配字元結尾,或e.search foo bfo...