\d
匹配一個數(shù)字
\w
匹配一個字母或數(shù)字
.
匹配任意字符
*
表示任意個字符(包括0個)
+
表示至少一個字符
?
表示0個或1個字符
{n}
表示n個字符
{n,m}
表示n-m個字符
[]
表示范圍
A|B
可以匹配A或B,所以(P|p)ython
可以匹配'Python'
或者'python'
^
表示行的開頭,^\d表示必須以數(shù)字開頭
$
表示行的結(jié)束,\d$表示必須以數(shù)字結(jié)束
# coding=utf-8
import re
print re.match(r'^\d{3}-\d{3,8}$', '010-12345')
print re.match(r'^\d{3}-\d{3,8}$', '010 12345')
# match()方法判斷是否匹配分别,如果匹配成功盖矫,返回一個Match對象樟澜,否則返回None
if re.match(r'^\d{3}-\d{3,8}$', '010-12345'):
print 'OK'
else:
print "Failed"
print 'a b c'.split(' ') # 會輸出空格
print re.split('\s+', 'a b c') # 不會輸出空格
print re.split(r'[\s,]+', 'a,b, c d') # []匹配一組字符
# 使用()對表達式進行分組
m = re.match(r'^(\d{3})-(\d{3,8})$', '010-12345')
print m.group(0)
print m.group(1)
print m.group(2)
# 預編譯表達式
re_telephone = re.compile(r'^(\d{3})-(\d{3,8})$')
print re_telephone.match('010-12345').groups()
print re_telephone.match('010-8086').groups()