Python正则表达式1 re.match惰性匹配详解案例
点个关注
re.match()
re.match()
函数尝试从字符串的开头开始匹配一个模式,如果匹配成功,返回一个匹配成功的对象,否则返回None。大小写区分,内容匹配不到后面的,只能匹配一个,不能有空格(开头匹配)
re.match(pattern, string, flags = 0)
pattern:匹配的正则表达式
string:要匹配的字符串
flags:标志位,用于控制正则表达式的匹配方式。如是否区分大小写、是否多行匹配等。
import rea = 'python' b = 'python and java and python' # 大小写区分,内容匹配不到后面的,只能匹配一个,不能有空格(开头匹配) res = re.match(a, b) # 懒惰匹配 print(res) # 提取匹配的内容 print(res.group())
1.正则查找网址
# 输入描述:
# 输入一行字符串表示网址。
# 输出描述:
# 输出网址从开头匹配到第一位不匹配的范围。
# 示例1
# 输入:
# https://www.Nowcoder.com
# 输出:
# (0, 11)import re
a='https://www'
b=str(input())
res=re.match(a,b)
if res:print(res.span())
else:print(None)

import re
a='https://www'
b=str(input())
res=re.match(a,b).span()
print(res)
这种写法有弊端,一旦开头匹配不是,返回None,再.span()那此代码就会抛出异常,,所以修改
span()的作用是使输出以元组形式显示(上图有)
2. 提取数字电话
# 描述 # 牛牛翻看以前记录朋友信息的电话薄,电话号码几位数字之间使用-间隔,后面还接了一下不太清楚什么意思的英文字母,你能使用正则匹配re.sub将除了数字以外的其他字符去掉,提取一个全数字电话号码吗? # 输入描述: # 输入一行字符串,字符包括数字、大小写字母和- # 输出描述: # 输出该字符串提取后的全数字信息。 # 示例1 # 输入: # 2022-063-109NiuMei # 复制 # 输出: # 2022063109
b = re.match('\D', '雨123') # \D只能匹配非数字
print(b)
print(b.group())
import re
a=input()
b=re.sub('\D','',a)
print(b)

3.截断电话号码
# 描述
# 牛牛记录电话号码时,习惯间隔几位就加一个-间隔,方便记忆,同时他还会在电话后面接多条#引导的注释信息。拨打电话时,-可以被手机正常识别,#引导的注释信息就必须要去掉了,你能使用正则匹配re.match将前面的数字及-信息提取出来吗,去掉后面的注释信息。
# 输入描述:
# 输入一行字符串,包括数字、大小写字母、#、-及空格。
# 输出描述:
# 输出提取的仅包含数字和-的电话号码。
# 示例1
# 输入:
# 123-3456-789 #NiuMei #1 cool girl
# 复制
# 输出:
# 123-3456-789首先通过 input 函数获取用户输入的字符串。然后使用 re.match 函数,正则表达式模式 [\d-]+ 表示匹配一个或多个数字或 - 字符,从字符串开头开始匹配,匹配到的结果通过 group 方法提取出来,就是我们需要的电话号码部分,去掉了后面的注释信息。
import reinput_str = input("请输入字符串: ")
phone_number = re.match(r'[\d-]+', input_str)if phone_number:print(phone_number.group())
else:print(None)

相关文章:
Python正则表达式1 re.match惰性匹配详解案例
点个关注 re.match() re.match() 函数尝试从字符串的开头开始匹配一个模式,如果匹配成功,返回一个匹配成功的对象,否则返回None。大小写区分,内容匹配不到后面的,只能匹配一个,不能有空格(开头匹配&#…...
WPF(C#)学习日志10:Prism框架下按键绑定
在Prism框架下,提供了DelegateCommand类用于处理了UI的按键请求,XAML中可以直接采用 Command"{Binding **}" 来绑定这些方法。这个类是一个泛型的类生命时仅需要DelegateCommand<T>即可,同时在XAML中绑定CommandParameter&qu…...
WPF中的ResizeMode
在 WPF (Windows Presentation Foundation) 中,ResizeMode 属性用于指定窗口是否可以被用户调整大小,以及如何调整大小。ResizeMode 属性可以设置为以下几个值之一: NoResize:窗口不能被用户调整大小,但可以被程序代码…...
Unity3D UI 双击和长按
Unity3D 实现 UI 元素双击和长按功能。 UI 双击和长按 上一篇文章实现了拖拽接口,这篇文章来实现 UI 的双击和长按。 双击 创建脚本 UIDoubleClick.cs,创建一个 Image,并把脚本挂载到它身上。 在脚本中,继承 IPointerClickHa…...
LabVIEW扫描探针显微镜系统
开发了一套基于LabVIEW软件开发的扫描探针显微镜系统。该系统专为微观尺度材料的热性能测量而设计,特别适用于纳米材料如石墨烯、碳纳米管等的研究。系统通过LabVIEW编程实现高精度的表面形貌和热性能测量,广泛应用于科研和工业领域。 项目背景 随着纳…...
问题式教学法在生物教学中的应用探索
问题式教学法在生物教学中的应用探索 李新 山东省德州市平原县第五中学 山东 德州 253100 摘要:时代在发展教育事业也在不断进步,不断创新教学方法有利于提高教学质量。问题教学法能让教材知识点以问题的形式呈现在学生眼前,这对引导学生…...
C++ | Leetcode C++题解之第556题下一个更大元素III
题目: 题解: class Solution { public:int nextGreaterElement(int n) {int x n, cnt 1;for (; x > 10 && x / 10 % 10 > x % 10; x / 10) {cnt;}x / 10;if (x 0) {return -1;}int targetDigit x % 10;int x2 n, cnt2 0;for (; x2 …...
实现链式结构二叉树
目录 需要实现的操作 链式结构二叉树实现 结点的创建 前序遍历 中序遍历 后序遍历 计算结点个数 计算二叉树的叶子结点个数 计算二叉树第k层结点个数 计算二叉树的深度 查找值为x的结点 销毁 层序遍历 判断是否为完全二叉树 总结 需要实现的操作 //前序遍历 void …...
在vscode中如何利用git 查看某一个文件的提交记录
在 Visual Studio Code (VSCode) 中,你可以使用内置的 Git 集成来查看某个文件的提交历史。以下是具体步骤: 使用 VSCode 内置 Git 功能 打开项目: 打开你的项目文件夹,确保该项目已经是一个 Git 仓库(即项目根目录下…...
【ShuQiHere】️`adb kill-server` 和 `adb start-server` 命令的作用
📟🔧 【ShuQiHere】️ 🔧📟 在使用 scrcpy 或其他依赖于 ADB(Android Debug Bridge) 的工具时,您可能会遇到需要重启 ADB 服务器的情况。今天,我们将详细解释两个常用的 ADB 命令&a…...
植物明星大乱斗1
能帮到你的话,就给个赞吧 😘 文章目录 scene.hmenuScene.hgameScene.hmainscene.cppmenuScene.cppgameScene.cpp scene.h #pragma once #include <graphics.h>/* 场景菜单角色选择游戏 */ class Scene { public:virtual ~Scene() 0; public:virt…...
信息安全工程师(84)UNIX/Linux操作系统安全分析与防护
前言 UNIX/Linux操作系统,尤其是Linux,以其开放性、稳定性和安全性在服务器、桌面、嵌入式设备和超级计算机中占据重要地位。然而,没有任何操作系统可以百分之百地保证安全,UNIX/Linux也不例外。 一、UNIX/Linux操作系统安全分析 …...
全面解析 Python typing模块与静态类型注解:从基础到高级
在现代软件开发中,代码的可读性、维护性和可靠性至关重要。Python 作为一门动态类型语言,尽管灵活,但也可能带来一些类型上的困扰。Python 的 typing 模块和静态类型注解提供了一种在编写代码时明确类型信息的方法,从而提升代码质…...
Jekins篇(搭建/安装/配置)
目录 一、环境准备 1. Jenkins安装和持续集成环境配置 2. 服务器列表 3. 安装环境 Jekins 环境 4. JDK 环境 5. Maven环境 6. Git环境 方法一:yum安装 二、JenKins 安装 1. JenKins 访问 2. jenkins 初始化配置 三、Jenkins 配置 1. 镜像配置 四、Mave…...
【工具变量】排污权交易政策试点DID(2000-2023)
数据简介:在过去几十年间的“高增长、高能耗、高污染”的经济发展背景下,随着社会各界不断反应高经济增长背后付出的巨大环境代价,中国ZF将节能环保减排纳入长期规划治理中。在2007年,我国开始启动了二氧化硫(SO2&…...
Proteus中数码管动态扫描显示不全(已解决)
文章目录 前言解决方法后记 前言 我是直接把以前写的 51 数码管程序复制过来的,当时看的郭天祥的视频,先送段选,消隐后送位选,最后来个 1ms 的延时。 代码在 Proteus 中数码管静态是可以的,动态显示出了问题——显示…...
证件照尺寸168宽240高,如何手机自拍更换蓝底
在提供学籍照片及一些社会化考试报名时,会要求我们提供尺寸为168*240像素的电子版证件照,本文将介绍如何使用“报名电子照助手”,借助手机拍照功能完成证件照的拍摄和背景更换,特别是如何将照片尺寸调整为168像素宽和240像素高&am…...
力扣.167 两数之和 II two-sum-ii
数组系列 力扣数据结构之数组-00-概览 力扣.53 最大子数组和 maximum-subarray 力扣.128 最长连续序列 longest-consecutive-sequence 力扣.1 两数之和 N 种解法 two-sum 力扣.167 两数之和 II two-sum-ii 力扣.170 两数之和 III two-sum-iii 力扣.653 两数之和 IV two-…...
ipconfig
本文内容来自智谱清言的回答。 ------ 以太网适配器 以太网: 媒体状态 . . . . . . . . . . . . : 媒体已断开连接 连接特定的 DNS 后缀 . . . . . . . : 以太网适配器 以太网: 这部分表示正在显示名为“以太网”的网络适配器的信息。在 Windows 中,默认的以太…...
Qt_day3_信号槽
目录 信号槽 1. 概念 2. 函数原型 3. 连接方式 3.1 自带信号 → 自带槽 3.2 自带信号 → 自定义槽 3.3 自定义信号 4. 信号槽传参 5. 对应关系 5.1 一对多 5.2 多对一 信号槽 1. 概念 之前的程序界面只能看,不能交互,信号槽可以让界面进行人机…...
SoccerData:一站式足球数据抓取与分析工具实战指南
SoccerData:一站式足球数据抓取与分析工具实战指南 【免费下载链接】soccerdata ⛏⚽ Scrape soccer data from Club Elo, ESPN, FBref, FiveThirtyEight, Football-Data.co.uk, SoFIFA and WhoScored. 项目地址: https://gitcode.com/gh_mirrors/so/soccerdata …...
AI大语言模型其实就是一个归纳与演绎的概率机器
您这句话精准地概括了当前主流人工智能(尤其是大语言模型)的核心本质。它确实是一个基于海量数据,通过统计归纳来学习模式,并通过概率演绎来生成输出的机器。 但这一定义既是其强大能力的根源,也是其根本局限的边界。我们可以从三个层面来理解: 一、这句话为什么是精准…...
AtlasOS系统Xbox控制器驱动问题:三步解决方案与预防指南
AtlasOS系统Xbox控制器驱动问题:三步解决方案与预防指南 【免费下载链接】Atlas 🚀 An open and lightweight modification to Windows, designed to optimize performance, privacy and security. 项目地址: https://gitcode.com/GitHub_Trending/atl…...
揭秘USDT混币器:从智能合约代码到浏览器控制台,一次匿名转账的完整技术栈解析
揭秘USDT混币器:从智能合约代码到浏览器控制台的技术全景 在区块链世界中,隐私保护与交易透明性似乎是一对永恒的矛盾。当每一笔USDT转账都能被链上浏览器追踪到资金流向时,一种名为"混币器"的技术方案正在用密码学重新定义匿名边界…...
旧Mac升级终极指南:用OpenCore Legacy Patcher解锁新系统完整方案
旧Mac升级终极指南:用OpenCore Legacy Patcher解锁新系统完整方案 【免费下载链接】OpenCore-Legacy-Patcher 体验与之前一样的macOS 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 当你的老款Mac提示"此设备不支持最新ma…...
Czkawka:用Rust构建的跨平台重复文件清理完整解决方案
Czkawka:用Rust构建的跨平台重复文件清理完整解决方案 【免费下载链接】czkawka 一款跨平台的重复文件查找工具,可用于清理硬盘中的重复文件、相似图片、零字节文件等。它以高效、易用为特点,帮助用户释放存储空间。 项目地址: https://git…...
STC8H上跑smallRTOS51:从源码下载到多任务调度的完整实战(附避坑指南)
STC8H实战smallRTOS51:从零构建多任务系统的全流程解析 作为一名长期使用STM32的嵌入式开发者,第一次接触STC8H时,裸机编程的局限性让我倍感束缚。当项目复杂度上升,多任务管理成为刚需,我决定在STC8H上移植smallRTOS5…...
Display Driver Uninstaller完全指南:解决显卡驱动残留的系统级清理方案
Display Driver Uninstaller完全指南:解决显卡驱动残留的系统级清理方案 【免费下载链接】display-drivers-uninstaller Display Driver Uninstaller (DDU) a driver removal utility / cleaner utility 项目地址: https://gitcode.com/gh_mirrors/di/display-dri…...
Phi-3 Mini 128K应用场景:技术团队内部知识沉淀问答系统
Phi-3 Mini 128K应用场景:技术团队内部知识沉淀问答系统 1. 技术团队的知识管理痛点 在快节奏的技术开发环境中,团队经常面临这样的困境:新成员加入时需要花费大量时间熟悉项目历史,关键问题的解决方案分散在各个聊天记录和邮件…...
3步彻底解决Visual C++运行库问题:告别DLL缺失和应用崩溃
3步彻底解决Visual C运行库问题:告别DLL缺失和应用崩溃 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist Visual C Redistributable(微软Vi…...
