ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

第十章 (小知识)正则表达式

2021-11-24 18:01:07  阅读:198  来源: 互联网

标签:字符 匹配 正则表达式 知识 第十章 phone 贪婪 print


认识正则表达式

正则表达式

'''
正则表达式是一门独立的语言 跟其他编程语言都没有关系!!!!
如果想在python代码中使用正则 需要借助于内置模块re
'''

# 什么是正则表达式?
	利用一些特殊的组合去字符串中筛选出符合条件的数据
 
'''
1.必须是11位
2.必须是纯数字
3.必须符合手机号的排布 15 16 18 19
'''

# 传统方法
phone = input('请输入正确的手机号码:').strip()
if len(phone) == 11:
    if phone.isdigit():
        if phone.startswith('15') or phone.startswith('16') or phone.startswith('17') or phone.startswith('18'):
            print('手机号正确')
        else:
            print('输入错误')
    else:
        print('必须是纯数字')
else:
    print('请正确输入手机号码')

# 正则表达式
import  re
phone = input('请输入正确的手机号码:').strip()
if re.match('^(13|14|15|16|17)[0-9]{9}$',phone):
    print('输入正确')
else:
    print('输入格式错误!')

字符组

# 特征是使用中括号括起来的  字符串默认只能单个单个字符匹配
[0123456789]  # 匹配0到9之间任何一个数字
	可以简写为
    [0-9]
[a-z]  # 匹配小写字母a到字母z其中任意一个字母
[A-Z]  # 匹配大写字母A到字母Z其中任意一个字母
[a-zA-Z0-9]  # 匹配所有的数字 小写 大写

特殊符号

# 特殊符号默认也只能单个单个字符匹配
.		匹配除换行符以外的任意字符
\d		匹配数字
^		匹配字符串的开始
$		匹配字符串的结尾
		'''^与$组合使用可以精准限制要查找的数据'''
a|b		匹配字符a或字符b
()		匹配括号内的表达式也表示一个组(不会影响正则表达式的匹配单纯的分组而已)
[...]	匹配字符组中的字符、
[^...]	匹配除了字符组中字符的所有字符

贪婪匹配与非贪婪匹配

# 带匹配的字符串
	<script>123</script>
# 正则表达式
	<.*>  '''默认贪婪匹配 尽可能多的匹'''
# 将贪婪变为非贪婪 只需要在量词的后面加问号即可
	<.*?> '''非贪婪匹配 尽可能少的匹配 结束条件有左右两边决定'''

还有很多方式不懂就问百度。

标签:字符,匹配,正则表达式,知识,第十章,phone,贪婪,print
来源: https://www.cnblogs.com/haiqinai/p/15599287.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有