> 文档中心 > 【Python刷题篇】——Python入门 012 正则表达式

【Python刷题篇】——Python入门 012 正则表达式

在这里插入图片描述

🤵‍♂️ 个人主页: @北极的三哈 个人主页

👨‍💻 作者简介:Python领域新星创作者。

📒 系列专栏:《牛客题库-Python篇》

🌐推荐《牛客网》——找工作神器|笔试题库|面试经验|实习经验内推求职就业一站解决

👉 点击链接进行注册学习

【Python刷题篇】——Python入门 012 正则表达式



Python入门:012 NP101-NP103

【Python刷题篇】——Python入门 012 正则表达式


NP101 正则查找网址

描述
牛牛最近正在研究网址,他发现好像很多网址的开头都是'https://www',他想知道任意一个网址都是这样开头吗。于是牛牛向你输入一个网址(字符串形式),你能使用正则函数re.match在起始位置帮他匹配一下有多少位是相同的吗?(区分大小写)

输入描述:
输入一行字符串表示网址。

输出描述:
输出网址从开头匹配到第一位不匹配的范围。

示例1
输入:https://www.Nowcoder.com
输出:(0, 11)

代码:

import rehttp = input()result = re.match('https://www',http,re.I)print(result.span())

自测运行:
【Python刷题篇】——Python入门 012 正则表达式


NP102 提取数字电话

描述
牛牛翻看以前记录朋友信息的电话薄,电话号码几位数字之间使用-间隔,后面还接了一下不太清楚什么意思的英文字母,你能使用正则匹配re.sub将除了数字以外的其他字符去掉,提取一个全数字电话号码吗?

输入描述:
输入一行字符串,字符包括数字、大小写字母和-

输出描述:
输出该字符串提取后的全数字信息。

示例1
输入:2022-063-109NiuMei
输出:2022063109

代码:

import re#导入模块 p=r'[-A-Za-z]+'#第一个‘-’表示字符‘-’,A-Za-z表示匹配大小字母#‘+’号表示连续匹配 text=input()#输入测试字符串 print(re.sub(p,'',text))#利用sub()函数过滤再输出

【Python刷题篇】——Python入门 012 正则表达式


NP103 截断电话号码

题目难度: 较难

描述
牛牛记录电话号码时,习惯间隔几位就加一个-间隔,方便记忆,同时他还会在电话后面接多条#引导的注释信息。拨打电话时,-可以被手机正常识别,#引导的注释信息就必须要去掉了,你能使用正则匹配re.match将前面的数字及-信息提取出来吗,去掉后面的注释信息。

输入描述:
输入一行字符串,包括数字、大小写字母、#-及空格。

输出描述:
输出提取的仅包含数字和-的电话号码。

示例1
输入:123-3456-789 #NiuMei #1 cool girl
输出:123-3456-789

代码:

import res = input()r = re.match('[0-9-]+',s)print(r.group())

自测运行:
【Python刷题篇】——Python入门 012 正则表达式

保存提交:
【Python刷题篇】——Python入门 012 正则表达式


推 荐:牛客题霸-经典高频面试题库

🌐 找工作神器-|笔试题库|面试经验|大厂面试题 👉 点击链接进行注册学习
【Python刷题篇】——Python入门 012 正则表达式