def isPhone(number):
number = str(number)
if len(number)==11 and number.isdogot() and number[0:2] =='13':
print(''这是正确的手机号")
else:
print('这不是是正确的手机号')
一、正则概念
import re
a = re.findall(r'^13\d{9}','13845442778')
三、re模块
import re
st = 'this python my name is ljx 123@#'
#提前编译好正则表达式\d表示匹配数字
r = re.compile(r'\d')
#findall()是匹配所有满足条件的数据
print(r.findall(st))
#sub('s','a','st')将字符串里面的s替换成a
print(re.sub('s','a','st'))
print(re.sub('[s|o|3]',st))
#与字符串中的切割一样,功能稍微强大一些
print(re.spilt('[s|o|3]',st))
#match()只匹配字符串的开头并且只匹配一次
a = re.match('this',st)
#serach()从整个字符串匹配,只匹配一次,不针对开头
a = re.search('is',st)
#re元字符
#. 通配符 匹配任意字符,不会匹配到换行符
st = 'this python my name is ljx 123@#'
a = re.findall('.s',st)
#\取消正则的转义
st = '\nthis \d\d\d \dpython my name is ljx 123@#'
#/d匹配数字 \D匹配到除数字之外的字符
a = re.findall(r'\\d',st)
#\s匹配空白符(空格,制表符,换行符)
#\S除空白符之外的字符
a = findall(r'\s',st)
#/w匹配字母,数字,下划线,汉字等字符
#\W匹配除字母,数字,下划线,汉字等字符之外的字符
a = findall(r'\w',st)
#\. 匹配点本身
#托字符,匹配开头,有则返回开头字符,无则返回空列表
#$匹配结尾,有则返回开头字符,无则返回空列表
a = findall(r'27$',st)
#{}中表示连续匹配几次
#{n,m} n表示最小匹配次数 m表示最大匹配次数
#{n,} 从n次起,没有限定最大的次数
#{,m} 从0次起,最大的匹配次数是m
a = findall(r'\d{3}',st)
# + 匹配一次到多次
a = re.findall(r'\d+',st)
#匹配0-1次
a = re.findall(r'\d?',st)
# * 表示匹配0次到多次
a = re.findall(r'\d*',st)