\d 匹配数字
\w 匹配字母或数字
\s 匹配一个空格(包括tab)
\s
+ 表示至少一个空格
* 表示任意字符(包括零个)
+ 表示至少一个字符
? 表示
0个或
1个字符
{n
} 表示n个字符
{n
,m
} 表示n
-m个字符
. 可以匹配任意字符
a
|b 表示可以匹配a或b
^ 行的开头
^\d 表示必须以数字开头
$ 表示结尾 $\d 表示必须以数字结尾
r 前缀,不需要考虑转义符
>>>r
'ABC\-001'
'abc\\-001'
import re
test
= input('请输入小写字母')
if re
.match
(r
'^[a-z]+$', test
):
print('正确:%s' % test
)
else:
print('错误')
>>>re
.split
(r
'\s+', 'a b c')
['a', 'b', 'c']
>>>m
= re
.match
(r
'^(\d{3})-(\d{3,8})$', '010-12345')
>>>m
.group
()
010-12345
>>>m
.group
(1)
010
>>>m
.group
(2)
12345
t
= '19:05:30'
m
= re
.match
(r
'^(0[0-9]|1[0-9]|2[0-3]|[0-9])\:(0[0-9]|2[0-9]|3[0-9]|4[0-9]|5[0-9]|[0-9])\:(0[0-9]|1[0-9]|2[0-9]|3[0-9]|4[0-9]|5[0-9]|[0-9])$', t
)
m
.groups
()
('19','05','30')
>>> re
.match
(r
'^(\d+)(0*)$', '102300').groups
()
('102300', '')
>>>re
.match
(r
'^(\d+?)(0*)$', '102300').groups
()
('1023','00')
>>>import re
>>>re_telephone
= re
.compile(r
'^(\d{3})-(\d{3,8})$')
>>>re_telephone
.match
('010-12345').groups
()
('010','12345')