今日总结
- 正则表达式
- 正则表达式基本使用
- 正则表达式特殊符号
- 正则表达式量词
- 正则表达式贪婪与非贪婪
- 正则表达式取消转义
- python中内置模块之re模块
正则表达式
eg:用手机号注册一个账号
phone_num = input('请输入您的手机号>>>:').strip()
if len(phone_num) == 11:
if phone_num.isdigit():
if phone_num.startswith('13') or phone_num.startswith('15') or phone_num.startswith('17') or phone_num.startswith('18'):
print('正在注册')
else:
print('号码错误')
else:
print('手机号必须是数字')
else:
print('手机号码必须是11位')
import re
phone_number = input('please input your phone number : ').strip()
if re.match('^(13|15|17|18)[0-9]{9}$',phone_number):
print('正在注册')
else:
print('手机号码错误')
正则表达式之字符串
[0123456789] 匹配0到9之间的一个数字
[0-9] 匹配0-9之间的任意一个数字
[a-z] 匹配a到z之间的任意一个小写字母
[A-Z] 匹配A到Z之间的任意一个大写字母
[0-9a-zA-Z] 匹配任意一个数字或者大小写字母(没有顺序)
正则表达式之特殊符号
. 匹配除换行符以外的任意字符
\w 匹配数字、字母、下划线
\d 匹配任意数字
\t 匹配一个制表符(tab)
^ 匹配字符串的开始(eg:^9,找9并且9必须在开头)
$ 匹配字符串的结尾(eg:9$,找9并且9必须在末尾)
\W(大写) 匹配非字母或数字或下划线
\D(大写) 匹配非数字
a|b 匹配a或者b
() 给正则表达式分组,不影响正则匹配
[] 字符组的概念(里面的数据都是或的关系)
[^] 上键号出现在了中括号的里面意思是取反操作
正则表达式之量词
* 重复零次或者多次(默认就是多次:越多越好)
+ 重复一次或者多次(默认就是多次:越多越好)
? 重复零次或者一次(默认就是一次:越多越好)
{n} 重复n次
{n,} 重复最少n次最多多次(越多越好)
{n,m} 重复n到m次(越多越好)
复杂re模块
import re
1.res = re.findall('a','jason oscar aaa')
print(res)
2.re.search()
print(res.group())
3.re.match()
4.re.finditer()
print([obj.group() for obj in res])
5.obj = re.compile('\d+')
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人