likes
comments
collection
share

Python之正则表达式

作者站长头像
站长
· 阅读数 56

  • NP101 正则查找网址

描述

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

输入描述:

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

输出描述:

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

示例1

Python之正则表达式

考察知识点:re.match()的正则表达式的用法 参考代码如下:

import re
net_address = input()
matchObj = re.match('https://www',net_address,re.I)
print(matchObj.span())

re.match() 语法: re.match(pattern,string,[flags]) 参数说明: pattern: 模式字符串   string:要匹配的字符串   flags:可选参数,比如re.I(大写的 i ) 不区分大小写


  • NP102 提取数字电话

描述

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

输入描述:

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

输出描述:

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

示例1

Python之正则表达式

参考代码按如下:

import re
str_1 = input()
result = re.sub("\D","",str_1)
print(result)

先引入re模块; 输入字符串,re.sub()函数语法:

1re.sub(pattern, repl, string, count=0, flags=0)

参数:

  • pattern : 正则中的模式字符串。

  • repl : 替换的字符串,也可为一个函数。

  • string : 要被查找替换的原始字符串。

  • count : 模式匹配后替换的最大次数,默认 0 表示替换所有的匹配。


  • NP103 截断电话号码

描述

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

输入描述:

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

输出描述:

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

示例1

Python之正则表达式

  • NP103 截断电话号码

描述

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

输入描述:

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

输出描述:

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

示例1

Python之正则表达式

参考代码如下

import re
str_1 = input()
result = re.match("[0-9|-]*",str_1,re.I)
print(result.group())
-----
import re
str_1 = input()
result = re.match("[0-9|-]+",str_1,re.I)
print(result.group())

+/*是1个,是匹配多个意思


经过这些天的刷题,短暂的Python的入门就算告成了。

转载自:https://juejin.cn/post/7133913336751587365
评论
请登录