正则表达式课后练习题
文章目录
- 利用正则表达式完成下面的操作:
- 1. 用户名匹配
- 2. 密码匹配
- 3. ipv4 格式的 ip 地址匹配
- 4. 提取用户输入数据中的数值 (数值包括正负数 还包括整数和小数在内) 并求和
- 5. 验证输入内容只能是汉字
- 6. 匹配整数或者小数(包括正数和负数)
- 7. 使用正则表达式获取字符串中所有的日期信息 **匹配年月日日期 格式:2018-12-6**
- 8. 替换字符串中的不良内容:将输入的内容中的不良内容全部替换成*(参考王者荣耀聊天要求)
- 9. 验证输入用户名和QQ号是否有效并给出对应的提示信息
- 10. 拆分长字符串:将一首诗中的每一句话分别取出来
利用正则表达式完成下面的操作:
1. 用户名匹配
要求:
- 用户名只能包含数字 字母 下划线
- 不能以数字开头
- ⻓度在 6 到 16 位范围内
# copy by CSDN
import reuser_name = input("请输入你的用户名:")
result = re.fullmatch(r'[a-zA-Z_][a-zA-Z_\d]{5,15},'user_name)
if result:print(user_name,'合法')
else:print(user_name,'不合法')
2. 密码匹配
要求:
- 不能包含!@#¥%^&*这些特殊符号
- 必须以字母开头
- ⻓度在 6 到 12 位范围内
# copy by CSDN
password = input('请输入你的密码:')
result = re.fullmatch(r'[a-zA-Z][^@#¥%^&*]{5,11},'password)
if result:print('密码合法')
else:print('密码不合法')
3. ipv4 格式的 ip 地址匹配
提示: IP地址的范围是 0.0.0.0 - 255.255.255.255
例如:255.189.10.37正确,256.189.89.9错误。
result = re.fullmatch(r'((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.){3}(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]),'123.23.45.67)
print(result)
4. 提取用户输入数据中的数值 (数值包括正负数 还包括整数和小数在内) 并求和
# 例如:“-3.14good87nice19bye” =====> -3.14 + 87 + 19 = 102.86
import restr1 = '-3.14good87nice19bye'
x = re.findall(r'-\d+\.\d\d+?|\d+',str1)
x1 = re.findall(r'-\d+\.?\d*',str1)result = sum([float(x) for x in x1])
print(result)
5. 验证输入内容只能是汉字
str1 = '你是猪猪侠'
result = re.fullmatch(r'[\u4e00-\u9fa5]+',str1)
print(result)
6. 匹配整数或者小数(包括正数和负数)
import re
num1 = '3.14Aijsj12Q112q'
print(re.findall(r'\d+\.\d\d+?|\d\d+|\d+?',num1))# copy by CSDN
'''
89、-23、+34、0 合法
2.33 -2.33 +23.889 9.00 0.22 9.000 合法0001 不合法
233. 233 0023.2 不合法 整数正则:[-+]?(0|[1-9]\d*)
小数正则:[-+]?(0|[1-9]\d*)\.\d+
数字正则:[-+]?(0|[1-9]\d*)(\.\d+)?
'''
result = re.fullmatch(r'[-+]?(0|[1-9]\d*)(\.\d+)?','1.233')
if result:print('合法')
else:print('不合法')
7. 使用正则表达式获取字符串中所有的日期信息 匹配年月日日期 格式:2018-12-6
注意年的范围是1~9999, 月的范围是1~12, 日的范围是130或者131或者1~29(不考虑闰年)
import re
re_str = '\d{4}-((((0?(1|3|5|7|8))|(1(0|2)))(-(([0-2]?[0-9])|(3[0-1])))?)|(((0?(2|4|6|9))|(11))(-(([0-2]?[0-9])|(30)))?))'
str1 = re.fullmatch(re_str, '2018-6-06')
print(str1)
8. 替换字符串中的不良内容:将输入的内容中的不良内容全部替换成*(参考王者荣耀聊天要求)
# 假设替换数字
print(re.sub('[SB脑残]+', '*', '你是不是SB,你是不是脑残'))
9. 验证输入用户名和QQ号是否有效并给出对应的提示信息
要求:
用户名必须是字母、数字或下划线构成且长度在6~20个字符之间
QQ号是5~12的数字且首位不能为0
user_name = input('请输入您的用户名:')
result = re.fullmatch(r'[a-zA-Z\d_]{6-20}',user_name)
QQ_num = input('请输入您的QQ号:')
result2 = re.fullmatch(r'[1-9]\d{4,11}',QQ_num)if result:if result2:print(f'用户名{user_name}:QQ号{QQ_num}')
10. 拆分长字符串:将一首诗中的每一句话分别取出来
poem = ‘床前明月光,疑是地上霜。举头望明月,低头思故乡。’
result = re.split(r'[,。]',poem)
print(result)
正则表达式课后练习题相关推荐
- linux孟庆昌第六章课后题_第六章课后练习题答案
第四部分课后练习题 一.单项选择题 1 . 某投资方案的年营业收入为元, 年总营业成本为 60000 元, 其中年折旧额 10000 元,所得税率为 33 %,该方案的每年营业现金流量为 ( B ) ...
- c语言谭浩强第六章答案,C语言谭浩强版本第6章课后练习题答案..doc
第6章课后练习题 单项选择题 以下程序执行后,a是: int a =0,i,j; for (i=5;i>0;i--) for(j=0;j<4;j++) a++; 20 25 24 30 执 ...
- 六、DOM(上) - 章节课后练习题及答案
第一章链接:初识JavaScript - 章节课后练习题及答案 第二章链接:JavaScript 基础(上) - 章节课后练习题及答案 第三章链接:JavaScript 基础(下) - 章节课后练习题 ...
- 十一、jQuery(下) - 章节课后练习题及答案
第一章链接:初识JavaScript - 章节课后练习题及答案 第二章链接:JavaScript 基础(上) - 章节课后练习题及答案 第三章链接:JavaScript 基础(下) - 章节课后练习题 ...
- N4 新标日初级下 问法总结和课后练习题12答案
新编日初级下课后练习题答案 文章目录 文法 2.7.25 练习 1 练习 2 2.7.26 练习 1 练习 2 2.7.27 练习 1 练习 2 2.7.28 练习 1 练习 2 2.8.29 练习 ...
- c语言教材课后题答案6,C语言谭浩强版6章课后练习题答案.doc
C语言谭浩强版6章课后练习题答案 第6章课后练习题 单项选择题 以下程序执行后,a是: int a =0,i,j; for (i=5;i>0;i--) for(j=0;j<4;j++) a ...
- 计算机考试课后作业,2017年职称计算机《PowerPoint》课后练习题
2017年职称计算机<PowerPoint>课后练习题 导语:在职称考试中,关于计算机ppt的考试内容你都清楚有哪些了吗?下面是百分网小编整理的相关考试试题,感兴趣 或者要考试的小伙伴都可 ...
- Python 课课练 (六):列表、元组课后练习题
目录 一.列表课后练习题 二.元组课后练习题 练习前置知识 Chapter One : 开启 Python 之旅 Chapter Two : Python 语言基础.运算符与表达式.程序的控制结构合集 ...
- Python 课课练 (八):函数课后练习题
目录 一.函数课后练习题 练习前置知识 Chapter One : 开启 Python 之旅 Chapter Two : Python 语言基础.运算符与表达式.程序的控制结构合集 Chapter T ...
- 五、JavaScript 对象 - 章节课后练习题及答案
第一章链接:初识JavaScript - 章节课后练习题及答案 第二章链接:JavaScript 基础(上) - 章节课后练习题及答案 第三章链接:JavaScript 基础(下) - 章节课后练习题 ...
最新文章
- 广联达2018模板算量步骤_老师傅带你学造价,广联达GTJ2018图文详解,小白也能学会的软件...
- MATH6005 Final Assignment MATH6005 2018-19
- 究竟是该采用面向服务结构,还是单体结构
- 接口转发和重定向区别(一)
- tensorflow基本概念
- 考试用计算机反思800字,考试反思作文800字
- SQL练习题完整(做完你就是高手)
- java 自动化测试报告_Java自动化测试框架-10 - TestNG之测试结果篇
- 目标检测——YOLO系列算法(YOLOv4、YOLOv5)的学习笔记
- 手把手:教你如何用深度学习模型预测加密货币价格
- openstack instance bootmgr is missing 问题 修复
- Linux一些最基本命令
- 华为HG8347R光猫 4台设备连接限制破解全过程
- python输出冒号_详谈python中冒号与逗号的区别_python_脚本之家
- Js、Vue阻止事件冒泡行为
- 计算机网络组成复习笔记
- vmware和hyper-v的一个坑
- 一期每日一GO群分享-flag、viper、协程池、异常处理
- [Texture]详解Texture2D
- Xshell 使用技巧
热门文章
- 转载:Max vs Maya
- 厦大计算机推免复试,统考生没戏!厦大该专业3个系招生,推免占比最高100%!...
- 成功安装python后、在dos命令行窗口中-python在WIN运行时去掉DOS窗口显示的方法
- sun java system calendar 服务器拒绝服务_sun java system cale
- python如何提交作业_提交作业
- 360怎样修改wifi服务器地址,360路由器怎么重新设置?
- 会玩,也是一种积极的生活态度
- 请编程序将china译成密码,密码规律是:用原来的字母后面第4个字母代替原来的字母。例如:字母A后面4个字母为E,因此,China应译为Glmre。
- 基于深度学习的图像压缩
- 上市公司环境污染数据大全 2000-2020年上市公司(区分行业、重污染)环境污染数据 环境信息披露EDI 环保投资环境绩效环境排放数据