正则表达式 该知识点不属于任何一门编程语言 是一个独立的学科 主要用于数据的查找与筛选 # 需求:编写代码校验用户输入的手机号是否合法 ps: 13 15 17 18 19python代码逻辑实现:# 1
该知识点不属于任何一门编程语言 是一个独立的学科 主要用于数据的查找与筛选
# 需求:编写代码校验用户输入的手机号是否合法 ps: 13 15 17 18 19
python代码逻辑实现:
# 1.获取用户输入的手机号
phone_num = input('请输入您的手机号码>>>:').strip()
# 2.判断用户输入的手机号是否是纯数字
if phone_num.isdigit():
# 3.判断总长度是否是11位
if len(phone_num) == 11:
# 4.判断是否以常见的电话号码开头 ps:13 15 17 18 19
if phone_num.startswith('13') or phone_num.startswith('15') or phone_num.startswith('17') or phone_num.startswith(''
'18') or phone_num.startswith('18') or phone_num.startswith('19'):
print('手机号合法')
print(int(phone_num))
else:
print('您输入的手机号开头不对')
else:
print('手机号必须是11位')
else:
print('手机号必须是纯数字')
正则表达式实现:
import re
phone_num = input('请输入您的手机号>>>:').strip()
if re.match('^[13|15|17|18|19][0-9]{9}',phone_num):
print(phone_num)
else:
print('您的输入不合法')
总结:
正则表达式本质上就是使用一些符号的组合产生一些特殊的含义,然后去掉字符串中筛选出符合条件的数据
正则表达式之字符组
在正则表达式中所有的量词默认都是贪婪匹配(尽可能多的)
量词不能单独使用 必须跟在表达式的后面 并且只能影响紧挨着的左边那一个
待匹配的文本<script>alert(123)</script>
正则表达式:<.*> #贪婪匹配
上述正则匹配出来的内容是:<script>alert(123)</script>
正则表达式:<.*?> #非贪婪匹配
上述正则匹配出来的内容是:<script> </script>
'''所有的量词默认都是贪婪匹配 但是如果在量词的后面紧跟一个问号 那么就会变成非贪婪匹配
小技巧:以后我们在使用贪婪匹配或者非贪婪匹配的时候一般都是用.*或者.*?并且结束的标志有上述符号左右两边添加的表达式决定'''
取消转义
正则表达式中取消斜杠与字母的特殊含义 就是斜杠前面加斜杠
\\n \n \\\\n \\n
在python中有更加简便的写法
r'\n' r'\\n'
正则表达式实战
编写校验用户手机号的正则
0?(13|14|15|17|18|19)[0-9]{9}
编写校验用户身份证的正则
\d{17}[\d|x]|\d{15}
编写校验用户邮箱的正则
\w[-\w.+]*@([A-Za-z0-9][-A-Za-z0-9]+\.)+[A-Za-z]{2,14}
编写校验用户qq号的正则
[1-9]([0-9]{5,11})
"""
常见的正则百度查找即可
"""