首页 > 编程语言 >Python 正则表达式高级应用指南

Python 正则表达式高级应用指南

时间:2024-10-08 11:45:07浏览次数:10  
标签:指南 re Python text 正则表达式 pattern print match

正则表达式是一种强大的文本模式匹配工具,在 Python 中,我们可以使用 re 模块来进行正则表达式的操作。以下是一些高级的正则表达式应用示例:

复杂的模式匹配

import re

text = "Hello, my email is [email protected] and my phone number is 123-456-7890."
email_pattern = r'\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b'
phone_pattern = r'\d{3}-\d{3}-\d{4}'

emails = re.findall(email_pattern, text)
phones = re.findall(phone_pattern, text)

print("Emails found:", emails)
print("Phones found:", phones)
在上述代码中,我们定义了两个正则表达式模式:一个用于匹配电子邮件地址,另一个用于匹配电话号码。

分组和提取

import re

text = "The price of the product is $12.99."
pattern = r'(\$\d+\.\d{2})'

match = re.search(pattern, text)
if match:
price = match.group(1)
print("Price found:", price)
这里使用了分组来提取匹配的部分。

替换操作

import re

text = "Hello, World! How are you?"
pattern = r'World'
replaced_text = re.sub(pattern, "Python", text)

print("Replaced text:", replaced_text)
通过 re.sub() 函数可以进行替换操作。

多行匹配

import re

text = """
Line 1: This is the first line.
Line 2: This is the second line.
Line 3: This is the third line.
"""
pattern = r'Line \d+'

matches = re.findall(pattern, text, re.MULTILINE)
print("Matches found:", matches)
使用 re.MULTILINE 标志可以进行多行匹配。

贪婪与非贪婪模式

import re

text = "<html><head><title>Title</title></head></html>"
pattern_greedy = r'<.*>'
pattern_nongreedy = r'<.*?>'

match_greedy = re.search(pattern_greedy, text)
match_nongreedy = re.search(pattern_nongreedy, text)

print("Greedy match:", match_greedy.group())
print("Non-greedy match:", match_nongreedy.group())
演示了贪婪模式和非贪婪模式的区别。

正则表达式的应用非常广泛,可以根据具体的需求灵活运用这些高级技巧来处理各种文本模式匹配问题。

本文代码转自:https://www.wodianping.com/app/2024-10/48515.html

标签:指南,re,Python,text,正则表达式,pattern,print,match
From: https://www.cnblogs.com/wodianpingcom/p/18451364

相关文章

  • Python 高级编程:深入探索字符串切片
    在Python中,字符串切片是一种强大的操作,它允许我们从字符串中提取特定的部分。以下是关于Python字符串切片的高级教学: 基本的字符串切片string = "Hello, World!"# 提取从索引 7 到索引 11 的子串(不包括索引 11)substring = string[7:11]print(substring)......
  • 【重建虚拟环境】虚拟环境里python.exe被破坏了,对策
    虚拟环境里python.exe被破坏了,python.exe变成了0KB虚拟环境不能使用了。这个时候需要重建虚拟环境如果你重建虚拟环境,之前使用pipinstall安装的所有包确实会丢失,因为新的虚拟环境不会保留之前的包记录。不过,有一种简单的办法可以避免这个问题,并轻松恢复之前安装的包:如果你......
  • 【Python数据采集】国家自然科学基金大数据知识管理服务门户数据采集
    【Python数据采集】国家自然科学基金大数据知识管理服务门户数据采集具体需求:从https://kd.nsfc.cn/网站中根据关键词搜索项目信息,收集列表中展示的信息以及详情页面中的参与人员信息等。在开始干活之前,我们首先要做的是弄清楚需求,然后分析目标网址,确定目标数据所在接口及请求参......
  • Python 高级绘图:从基础到进阶的可视化实践
    在Python中,我们可以使用多种库来进行绘图,其中matplotlib是一个非常强大的绘图库。以下将介绍一些高级的绘图技巧和代码实现:绘制简单折线图importmatplotlib.pyplotaspltx=[1,2,3,4,5]y=[2,4,6,8,10]plt.plot(x,y)plt.xlabel('X轴')plt.ylabel('Y轴')plt......
  • 这里有11种方法,供你用Python下载文件
    今天我们一起学习如何使用不同的Python模块从web下载文件。此外,你将下载常规文件、web页面、AmazonS3和其他资源。最后,你将学习如何克服可能遇到的各种挑战,例如下载重定向的文件、下载大型文件、完成一个多线程下载以及其他策略。如果你正在学习Python并且找不到方向的话可......
  • Python 循环语句的高级应用与技巧
    在Python中,循环语句是实现重复操作的重要工具。以下将深入探讨一些高级的应用和技巧:for循环的高级用法#遍历字典的键值对my_dict={'a':1,'b':2,'c':3}forkey,valueinmy_dict.items():print(f'Key:{key},Value:{value}')#遍历多个序列names=['Alice',......
  • 复制粘贴,快速将Python程序打包成exe
    为了将Python程序发送给不懂代码和没有安装Python的同事、朋友使用,最好的方式就是将Python程序打包成exe可执行文件,再发送给他们。我之前曾经打包过几次,操作并没有难度,但不会记打包命令,每次打包时都需要重新查命令。所以本文记录打包过程,需要打包时可以直接复制粘贴,快速完成,......
  • Python 脚本高级编程:从基础到实践
    Python脚本是一种强大的工具,可用于各种任务,从自动化日常工作到处理复杂的数据操作。以下是一些关于Python脚本的高级概念和代码示例。函数的高级用法defcomplex_function(name,age,*args,**kwargs):print(f"Name:{name},Age:{age}")print("Additionalargume......
  • python之最新教程
    链接1.「python」链接:https://pan.quark.cn/s/8f295e8a70b52.「Python运维自动化课程」链接:https://pan.quark.cn/s/72ff9d3491d53.「python深度学习验证码识别全集」链接:https://pan.quark.cn/s/15ea35cae7994.「花了2万多买的Python教程全套,现在分享给大家,入门到精通Py......
  • 织梦CMS数据库连接配置指南
    织梦CMS(DedeCMS)的数据库连接配置是确保系统正常运行的重要步骤。以下是详细的配置指南,帮助你正确配置织梦CMS的数据库连接。步骤1:备份现有配置文件在修改任何配置文件之前,最好先备份现有的配置文件,以防万一。备份配置文件复制织梦CMS安装目录下的 include/config.inc.ph......