10个python中使用正则表达式的场景!

Python中使用正则表达式的场景 正则表达式在处理文本和字符串方面非常强大,通过上述示例可以看出,无论是简单的字符串验证还是复杂的数据提取和处理,正则表达式都能提供高效的解决方案。掌握正则表达式的使用技巧,可以在实际开发中大大提高效率。 阅读详情

在Python编程中,正则表达式(regex)是强大的工具,能够处理各种复杂的字符串操作.以下是10个常见的正则表达式使用场景,并附上代码示例.


1. 验证电子邮件地址

验证用户输入的电子邮件地址是否符合格式要求.

import re

def validate_email(email):
    pattern = r"^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$"
    return re.match(pattern, email) is not None

# 示例
print(validate_email("test@example.com"))  # True
print(validate_email("invalid-email"))     # False

2. 匹配电话号码

提取或验证电话号码格式,如国际电话格式 +1-800-555-1234.


def validate_phone(phone):
    pattern = r"^\+?\d{1,3}[-.\s]?\(?\d{1,4}\)?[-.\s]?\d{1,4}[-.\s]?\d{1,9}$"
    return re.match(pattern, phone) is not None

# 示例
print(validate_phone("+1-800-555-1234"))  # True
print(validate_phone("555-1234"))         # True

3. 查找所有URL

从文本中提取所有的URL.

def find_urls(text):
    pattern = r"https?://[^\s]+"
    return re.findall(pattern, text)

# 示例
text = "Check out https://example.com and http://google.com."
print(find_urls(text))  # ['https://example.com', 'http://google.com']

4. 验证日期格式

验证日期是否符合 YYYY-MM-DD 的格式.

def validate_date(date):
    pattern = r"^\d{4}-\d{2}-\d{2}$"
    return re.match(pattern, date) is not None

# 示例
print(validate_date("2024-09-30"))  # True
print(validate_date("30-09-2024"))  # False

5. 从字符串中提取所有数字

提取文本中所有的数字.

def extract_numbers(text):
    return re.findall(r"\d+", text)

# 示例
text = "I have 3 apples, 4 bananas, and 5 oranges."
print(extract_numbers(text))  # ['3', '4', '5']

6. 替换敏感词汇

使用正则表达式替换文本中的敏感词汇,常用于内容审核.

def extract_numbers(text):
    return re.findall(r"\d+", text)

# 示例
text = "I have 3 apples, 4 bananas, and 5 oranges."
print(extract_numbers(text))  # ['3', '4', '5']

7. 提取文件扩展名

从文件名中提取扩展名.

def get_extension(filename):
    pattern = r"\.([a-zA-Z0-9]+)$"
    match = re.search(pattern, filename)
    return match.group(1) if match else None

# 示例
print(get_extension("document.pdf"))  # 'pdf'
print(get_extension("archive.tar.gz"))  # 'gz'

8. 验证密码强度

使用正则表达式验证密码是否满足复杂性要求,比如至少包含一个大写字母、一个小写字母、一个数字和一个特殊字符.

def validate_password(password):
    pattern = r"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$"
    return re.match(pattern, password) is not None

# 示例
print(validate_password("StrongPass1!"))  # True
print(validate_password("weakpass"))      # False

9. 拆分字符串

使用正则表达式按照多个分隔符拆分字符串.

def split_text(text):
    pattern = r"[ ,;]+"
    return re.split(pattern, text)

# 示例
text = "apple, orange; banana grape"
print(split_text(text))  # ['apple', 'orange', 'banana', 'grape']

10. 删除多余的空格

通过正则表达式删除字符串中的多余空格,只保留一个空格.

def clean_whitespace(text):
    pattern = r"\s+"
    return re.sub(pattern, " ", text).strip()

# 示例
text = "  This  is   a  messy   sentence.   "
cleaned_text = clean_whitespace(text)
print(cleaned_text)  # "This is a messy sentence."

总结

这些正则表达式场景在处理文本时非常常见.掌握它们可以极大提高处理字符串操作的效率,同时也能使代码更加简洁明了.在Python中,正则表达式是不可或缺的工具,熟练运用它们能帮助你解决许多实际问题.


关于Python技术储备

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后给大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、自动化办公等学习教程。带你从零基础系统性的学好Python!

点击领取 100%免费!

👉Python所有方向的学习路线👈

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(全套教程文末领取)

在这里插入图片描述

👉Python学习视频600合集👈

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

在这里插入图片描述

温馨提示:篇幅有限,已打包文件夹,获取方式在:文末
👉Python70个实战练手案例&源码👈

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

👉Python大厂面试资料👈

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

在这里插入图片描述

在这里插入图片描述

👉Python副业兼职路线&方法👈

学好 Python 不论是就业还是做副业赚钱都不错,但要学会兼职接单还是要有一个学习规划。

在这里插入图片描述

👉 这份完整版的Python全套学习资料已经上传,朋友们如果需要可以扫描下方优快云官方认证二维码或者点击链接免费领取【保证100%免费】

![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/711c5966aa7348dc9340894eea54e99f.png#pic_center在这里插入图片描述

python用正则表达式判断字符串_使用Python验证常见的50个正则表达式 什么是正则表达式?正则表达式(Regular Expression)通常被用来检索、替换那些符合某个模式(规则)的文本。此处的Regular即是规则、规律的意思,Regular Expression即“描述某种规则的表达式”之意。本文收集了一些常见的正则表达式用法,方便大家查询取用,并在最后附了详细的正则表达式语法手册。案例包括:邮箱、身份证号、手机号码、固定电话、域名、IP地址、日期、邮编、密码... 阅读详情

相关推荐

【Python】正则表达式

想象一下,您需要从海量的日志文件中找出所有IP地址,或者从一个HTML文档中提取所有的超链接,再或者验证用户输入是否符合邮箱地址的格式。这些任务如果仅仅依赖于字符串的循环遍历、、、、等方法,将会变得异常繁琐、代码冗长且难以维护。例如,要判断一个字符串是否包含数字: 上述代码能够解决“是否包含数字”的问题,但是如果需求变成“是否包含一个由3到5位数字组成的序列”,或者“是否包含一个以’http://'或’https://'开头的URL”,那么简单的循环判断就会变得异常复杂,甚至难以实现。这正是正则表达式大显

宅男很神经 1529

【正则表达式】——10个非常常见的正则表达式案例,轻松搞定正则表达式

正则表达式是前端人必备必会的基础,快来和我一起学习这超级常用的10个案例,让你轻松且彻底明白学会正则表达式!

qq_50497708的博客 1万+

Python正则表达式,这一篇就够了!

大多数编程语言的正则表达式设计都师从Perl,所以语法基本相似,不同的是每种语言都有自己的函数去支持正则,今天我们就来学习 Python中关于 正则表达式的函数。 re模块主要定义了9个常量、12个函数、1个异常,每个常量和函数猪哥 都会通过实际代码案例讲解,让大家能更直观的了解其作用! 注:为避免出现代码格式错乱,猪哥尽量使用代码截图演示哦。 一、re模块简介 聊到Python正则表达式的支持,首先肯定会想到 re 库,这是一个Python处理文本的 标准库。 标准库 的意思表...

爬遍所有网站 600

详解Python正则表达式(含丰富案例)

正则表达式在网络爬虫、数据分析中有着广泛使用,掌握正则表达式能够达到事半功倍的效果。本文详细介绍正则表达式中各种规则及其符号含义,并结合Python中的Re库进行演示,由浅入深,即学即练即用,内容丰富,非常适合初学者。

手把手教你学编程 1万+

Python中使用正则表达式的具体场景

正则表达式在处理文本和字符串方面非常强大,通过上述示例可以看出,无论是简单的字符串验证还是复杂的数据提取和处理,正则表达式都能提供高效的解决方案。掌握正则表达式的使用技巧,可以在实际开发中大大提高效率。

wjianwei666的专栏 447

鸿蒙OS+UniApp文件上传实战:如何解决大文件分片上传的3大坑?

本文深入探讨鸿蒙OS与UniApp结合实现大文件分片上传的实战方案,重点解决分片策略设计、网络中断处理和进度管理三大技术难题。通过鸿蒙分布式特性与UniApp跨平台能力的结合,提供动态分片调整、断点续传和跨设备进度同步等优化方案,显著提升大文件上传成功率和用户体验。

weixin_29250403的博客 475

正则表达式常用例子汇总

正则匹配全部汇总: 目录 正则匹配全部汇总: 一、校验数字的表达式 二、校验字符的表达式 三、特殊需求表达式 1、匹配中文:[\u4e00-\u9fa5] 2、英文字母:[a-zA-Z] 3、数字:[0-9] 4、匹配中文,英文字母和数字及下划线:^[\u4e00-\u9fa5_a-zA-Z0-9]+$ 同时判断输入长度: [\u4e00-\u9fa5_a-zA-Z0-9_]{4,10} 5、 (?!_)  不能以_开头 (?!.*?_$)  不能以_结尾 [a-zA-Z0-9..

liu1525084979的博客 2万+

CentOS7 编译升级GCC至9.3.0

1)下载GCC9.2.0源码并解压 从GCC官方FTP下载地址可以看到GCC最新版本为9.3.0。由于官网下载速度慢,实际上用清华大学的镜像站进行下载,代码如下: wget -c /opt/tmp/ https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc-9.3.0/gcc-9.3.0.tar.gz #考虑到安装失败的可能性,创建一个临时文件夹来安装GCC...

haha123486的博客 1万+

分享 5 个关于正则表达式的实际应用场景

在计算机编程的广泛领域中,某些技术具有改变我们如何处理和提取文本内容中信息的能力。在这些强大工具中,正则表达式成为每个开发者工具库中基本且不可或缺的组成部分。正则表达式,通常被称为 RegEx ,为程序员提供了高效且多功能的解决方案,适用于各种编程应用。本教程将探讨它们的重要性,并展示五个实际应用案例,包括数据验证、数据提取、日志解析、搜索和替换以及数据清理。正则表达式,通常简称为 RegEx ,...

前端达人 2772

一文讲清CAN和CANFD的区别

本文将从技术原理、协议特性到应用场景,深度解析两者的核心差异。

文章主要涉及嵌入式软件开发、测试、项目管理等,欢迎交流,共同进步。 3212

从零搭建私有AI工作站:Ollama+DeepSeek+Dify本地化部署全攻略

本文提供了一份详尽的本地化AI工作站搭建指南,核心在于实现数据安全与离线可用。通过整合Ollama、DeepSeek与Dify三大工具,手把手教你完成从环境配置、模型部署到可视化应用构建的全过程,重点解决了Dify连接Ollama等关键步骤,助你打造一个完全自主可控的私有AI开发环境。

weixin_28396629的博客 313

Python正则表达式例子讲解

因为字符串处理无所不在,正则毫无疑问是最简洁和高效的处理方法。今天我们要来一起梳理的知识点就是Python正则表达式。本文将用十个Python正则表达式的例子,帮助初学者入门Python正则表达式,下面一起来看看吧~

Python栈 1195

ceph recovery 相关参数

可以修改的最大回填/恢复选项列在 “恢复/回填选项” 部分。mClock 的修改 默认回填/恢复限制由 osd_mclock_override_recovery_settings 选项,设置为 默认为 false。尝试修改任何默认恢复/回填限制而不设置门控选项,会将该选项重置为 mClock 默认值,并在集群日志中记录一条警告消息。请注意,默认值可能需要几秒钟才能恢复生效。请使用 config show 命令验证限制,如下所示。就直接设置以下参数,过一会就变回了默认值。简单点说官网的意思就是不设置。

weixin_40548182的博客 280

10个案例快速掌握Python正则表达式使用

通过这10个案例,你已经掌握了正则表达式的基础用法:模式思维:用抽象模式描述具体文本组合思维:将简单模式组合成复杂规则实践思维:在真实场景中不断练习正则表达式就像编程世界的超级放大镜,让你在文本的海洋中精准捕捉目标信息!

WANGWUSAN66的博客 1278

024、反激变换器的短路保护设计

本文详细探讨了反激变换器短路保护的设计要点与实践经验。作者通过实际案例分析了短路时反激拓扑的电流特性,指出初级峰值电流限制是最基础的保护手段,但需配合打嗝模式使用。文章重点剖析了打嗝模式设计的三个关键陷阱:频率设定、退出条件和软启动衔接。同时强调次级侧辅助保护、变压器参数优化、环路响应协调的重要性,并比较了自恢复与锁死方案的适用场景。最后提出实测验证的四个关键点和设计经验:不盲信芯片手册、保护电路独立设计、充分留有余量、进行破坏性测试。全文以工程实践为导向,为反激电源的可靠短路保护提供了系统性解决方案。

Jack010169的博客 244

Machine Unlearning: A Survey

机器学习已经引起了广泛的关注,并发展成为一种使能技术,用于广泛的高度成功的应用,如智能计算机视觉、语音识别、医疗诊断等。然而,由于隐私、可用性和/或被遗忘权,一些特定样本的信息需要从称为机器遗忘的模型中删除,这就产生了一种特殊的需求。这项新兴技术因其创新性和实用性而引起了学术界和工业界的极大兴趣。与此同时,这个雄心勃勃的问题导致了许多旨在应对其挑战的研究工作。据我们所知,没有任何研究分析过这一复杂的主题,也没有比较过现有的遗忘解决方案在不同场景下的可行性。因此,通过这项调查,我们旨在了解遗忘技术的关键概念。

c_cpp_csharp的专栏 1159

python 正则表达式的语法及使用

python 正则表达式的语法及使用 概念: 按照程序员的指示,字符串里提取你要的数据。 应用: 爬虫清洗数据,匹配电话,匹配邮箱,匹配账号…… 最重要的就是(.*?) 正则语法(元字符) 1、?:前面的内容出现0-1次 2、+ :前面的内容出现1-多次 3、* : 前面的内容出现0-多次 ‘’’ 正则(Regular): 记住的点: 1、(.?) 2、re.findall() 结果 是一个列表 3、用(.?)的是后,一定要复制,而不是手敲! ‘’’ import re ‘’’ 正则语法(普通字符):

weixin_54733110的博客 4万+

windows下使用Nginx搭建Rtmp流媒体服务器,实现视频直播功能

一、环境介绍 操作系统:win10 64位系统 Linux下搭建Nginx搭建Rtmp流媒体服务器方法请看这里:https://blog.youkuaiyun.com/xiaolong1126626497/article/details/105378894 二、流媒体服务器介绍 流媒体服务器的主要功能是以流式协议(RTP/RTSP、MMS、RTMP等)将视频文件传输到客户端,供用户在线观看;也可从视频采集、压缩软件接收实时视频流,再以流式协议直播给客户端。 nginx服务器是开源的高性能的http服务器,反向

1万+

学习python 正则表达式——与你同行!

正则表达式定义   又称为规则表达式,是一个特殊的字符序列,利用事先定义好的一些特定字符以及它们的组合组成一个‘规则’,检查一个字符串是否与这种规则匹配来实现对字符的检索、过滤、匹配、替换。正则表达式需要用到re模块,该模块不是独立的第三方库,不需要单独安装,但是使用时必须预先导入。re模块提供了正则表达式操作所需的所有功能。 https://blog.youkuaiyun.com/hanhanwanghaha宝藏女孩的成长日记 欢迎您的关注! 欢迎关注微信公众号:宝藏女孩的成长日记 让这个可爱的宝藏女孩在努力的道路

宝藏女孩的成长日记 3421

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Python 正则表达式:10 个常用场景及示例

预编译正则表达式提升性能,例如。注:复杂场景建议使用。

2501_93895855的博客 448

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

python中如何使用正则表达式提取数据

以上为个人经验,希望能给大家一个参考。点击拿去50G+学习视频教程100+Python初阶、中阶、高阶电子书籍​​​​​​​。

ai520wangzha的博客 7573

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

【Python正则表达式】深入解析正则表达式,玩转文本匹配!

正则表达式(Regular Expression,简称regex或regexp)是一种用于描述字符串模式的语法规则。它允许我们使用特殊字符和语法来定义复杂的字符串搜索模式,从而实现高效的文本匹配与处理。通过本文的深入解析,我们对Python中的正则表达式有了全面的了解。从基本的字符匹配到复杂的文本处理,正则表达式在数据验证、文本提取、格式化和网络爬虫等领域都有广泛应用。掌握正则表达式的技巧可以极大提高我们处理文本数据的效率。在实际应用中,合理使用正则表达式,可以帮助我们更快速、更准确地完成数据处理任务。

萧鼎的博客 1613

Python正则表达式:如何使用正则表达式

正则表达式(简称RE)本质上可以看作一个小的、高度专业化的编程语言,在Python中可以通过re模块使用它。使用正则表达式,你需要为想要匹配的字符串集合指定一套规则,字符串集合可以包含英文句子、e-mail地址、TeX命令或者其它任何你希望的字符串。然后您能提这样的问题:“这个字符串匹配这个模式吗?”,或者“在这个字符串中存在这个模式的匹配吗?”。你也能使用正则表达式修改一个字符串或者分离它。

宁静致远 8330

Python(25)Python正则表达式深度解析:五大匹配模式与七大实战场景

正则表达式是把双刃剑 —— 合理使用可使文本处理效率提升10倍,但复杂模式可能成为性能瓶颈。本文从基础语法到企业级应用,构建了完整的Python正则表达式知识体系,建议结合具体场景选择最佳实现方案。

优快云博客专家,领域包括但不限于:AI、大数据、Python、架构师,有合作、课程、问题、疑惑请私信博主 2122

Python的正则表达式使用

正则表达式是指专门用于描述或刻画字符串内在规律的表达式。

Eric005的博客 1424

Python正则表达式,看完这篇文章就够了!

玩转正则表达式 本文中介绍的是主要是3个知识点: 正则表达式的相关知识 Python的中re模块,主要是用来处理正则表达式 一个利用re模块通过正则表达式来进行网页数据的爬取和存储 使用的系统Python版本和其他环境分别如下: npython 3.7.5 MacOS jupyter notebook re # re 模块 requests 2.23.0 # 发送请求 1、正则表达式 1.1 正则表...

weixin_46737755的博客 4686
上一篇: 一篇文章掌握Python的80%:从入门到自动化!
下一篇: Python 语法及入门(超全超详细)!
Python_trys
博客等级 码龄2年 4379粉丝 377原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值