文章目录
- 1. 正则查找网址
- 2. 提取数字电话
- 3. 截断电话号码
- 4. 如何让刷题更加高效呢?
前言
最近很多学了基础的小伙伴问我该怎么提升编程水平?学了基础该上哪刷题?明明学了很多,做项目却不知道怎么上手,其实这就是练得太少,只注重了学,却忽视了刷题,只有不断练习才能提高和巩固编程思维和能力!1. 正则查找网址
文章图片
刚好看到牛客网最近出了Python的新题库于是体验了一番感觉还不错
文章图片
链接地址:牛客网 | Python从入门到实践四十招,废话少说速度上号,或者跟着下文一起刷题!!!
描述: 牛牛最近正在研究网址,他发现好像很多网址的开头都是’https://www’,他想知道任意一个网址都是这样开头吗。于是牛牛向你输入一个网址(字符串形式),你能使用正则函数re.match在起始位置帮他匹配一下有多少位是相同的吗?(区分大小写)实现代码:
输入描述:输入一行字符串表示网址。
输出描述:输出网址从开头匹配到第一位不匹配的范围。
import re
str1 = input()
result = re.match("https://www", str1, re.I)
print(result.span())
运行结果:
文章图片
2. 提取数字电话
描述: 牛牛翻看以前记录朋友信息的电话薄,电话号码几位数字之间使用-间隔,后面还接了一下不太清楚什么意思的英文字母,你能使用正则匹配re.sub将除了数字以外的其他字符去掉,提取一个全数字电话号码吗?实现代码:
输入描述:输入一行字符串,字符包括数字、大小写字母和-
输出描述:输出该字符串提取后的全数字信息。
import re
#导入模块
p=r'[-A-Za-z]+'
#第一个‘-’表示字符‘-’,A-Za-z表示匹配大小字母
#‘+’号表示连续匹配
text=input()
#输入测试字符串
print(re.sub(p,'',text))
#利用sub()函数过滤再输出
运行结果:
文章图片
3. 截断电话号码
描述: 牛牛记录电话号码时,习惯间隔几位就加一个-间隔,方便记忆,同时他还会在电话后面接多条#引导的注释信息。拨打电话时,-可以被手机正常识别,#引导的注释信息就必须要去掉了,你能使用正则匹配re.match将前面的数字及-信息提取出来吗,去掉后面的注释信息。实现代码:
输入描述:输入一行字符串,包括数字、大小写字母、#、-及空格。
输出描述:输出提取的仅包含数字和-的电话号码。
import re
s = input()
r = re.match('[0-9-]+',s)
print(r.group())
运行结果:
文章图片
4. 如何让刷题更加高效呢?
【Python每日一练|Python每日一练(牛客新题库)——第27天(正则表达式练习)】嫌博主更新慢的小伙伴牛客网上号自行刷题
文章图片
链接地址:牛客网 | Python从入门到实践四十招,废话少说速度上号!!!
推荐阅读
- 《告别Bug》|已解决KfcError: KFC Crazy Thursday WhoEver Gives me 50 CNY, I Will Thank Him.
- java|【Rust日报】2022-08-17 在 Rust 和 C 之间传递字符串的 7 种方法
- python|python 调用rust,从Rust函数返回一个字符串到Python
- 字符串|原创(FFI极简应用场景【字符串·传输】浅谈)
- 人工智能|人类越来越懒是技术进步的根源!
- 大数据|80岁还在写代码!Hello World发明人、UNIX命名者项目登上GitHub热榜
- opencv|python-opencv 图像处理基础 (十)图像膨胀腐蚀+开闭操作+顶帽黑帽+形态学梯度
- python|100天精通Python(数据分析篇)——第52天(numpy完结)
- 工具使用|如何修改Jupyter Notebook工具的初始工作目录