学习链接:https://www.liaoxuefeng.com/wiki/1016959663602400/1017639890281664
模块:re模块
为什么使用正则?简单的文本可以不适用,复杂的文本查找要使用正则
-》匹配文本的一系列的某种语法规则
-》对字符串的一种逻辑处理公式
-》应用场景:处理文本和数据
1)精确匹配:
12\d:\d可以匹配一个数字
a3\w:\w可以匹配到一个字母或数字
“.”:匹配任意字符
2)变长的字符匹配:
*表示任意个字符(含0)
+表示至少一个字符
?表示0个或1个字符
{n}表示n个字符
{n,m}表示n-m个字符
\s匹配一个空格
\s+表示至少一个空格
-中横线需要在在前面加个转义字符
3)更精确匹配:
[]表示范围


举例::
匹配字符串开头
test = ‘aa哈哈’
print(re.match(r’aa’, test))
空格分割字符串
test = ‘a b c d d h’
print(re.split(’\s+’,test))
分组
test = ‘010-44622’
m = re.match(r’^\d{3}-\d{3,5}$’,test)
print(m)
print(m.group(0)) # group(0) 永远是匹配的原始字符
# 匹配时间
t = ‘19:05:30’
m = re.match(r’^(0[0-9]|1[0-9]|2[0-3]|[0-9]):(0[0-9]|1[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)
print(m)