请给我30个python语言下的正则表达式的代码实例

时间: 2024-02-09 07:07:27 浏览: 77
PDF

学会Python正则表达式,就看这20个例子(脚本之家修正版)

好的,以下是30个Python语言下的正则表达式的代码实例: 1. 匹配手机号码 ```python import re phone_number = "13812345678" pattern = r"^1[3456789]\d{9}$" result = re.match(pattern, phone_number) if result: print("是手机号码") else: print("不是手机号码") ``` 2. 匹配电子邮箱地址 ```python import re email = "example@mail.com" pattern = r"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$" result = re.match(pattern, email) if result: print("是电子邮箱地址") else: print("不是电子邮箱地址") ``` 3. 匹配IP地址 ```python import re ip_address = "192.168.0.1" pattern = r"^((25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$" result = re.match(pattern, ip_address) if result: print("是IP地址") else: print("不是IP地址") ``` 4. 匹配日期格式 ```python import re date = "2022-01-01" pattern = r"^\d{4}-\d{2}-\d{2}$" result = re.match(pattern, date) if result: print("是日期格式") else: print("不是日期格式") ``` 5. 匹配数字 ```python import re num = "123456" pattern = r"^\d+$" result = re.match(pattern, num) if result: print("是数字") else: print("不是数字") ``` 6. 匹配字母 ```python import re letter = "abcde" pattern = r"^[a-zA-Z]+$" result = re.match(pattern, letter) if result: print("是字母") else: print("不是字母") ``` 7. 匹配字母和数字 ```python import re string = "abc123" pattern = r"^[a-zA-Z0-9]+$" result = re.match(pattern, string) if result: print("是字母和数字") else: print("不是字母和数字") ``` 8. 匹配中文 ```python import re chinese = "中文" pattern = r"^[\u4e00-\u9fa5]+$" result = re.match(pattern, chinese) if result: print("是中文") else: print("不是中文") ``` 9. 匹配用户名 ```python import re username = "user_123" pattern = r"^[a-zA-Z][a-zA-Z0-9_]{5,17}$" result = re.match(pattern, username) if result: print("是用户名") else: print("不是用户名") ``` 10. 匹配密码 ```python import re password = "123456" pattern = r"^[a-zA-Z]\w{5,17}$" result = re.match(pattern, password) if result: print("是密码") else: print("不是密码") ``` 11. 匹配URL ```python import re url = "https://www.example.com" pattern = r"^https?://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$" result = re.match(pattern, url) if result: print("是URL") else: print("不是URL") ``` 12. 匹配HTML标签 ```python import re html = "<div class='example'>Hello, World!</div>" pattern = r"<[^>]+>" result = re.findall(pattern, html) print(result) ``` 13. 匹配XML标签 ```python import re xml = "<example>Hello, World!</example>" pattern = r"<([a-zA-Z]+)[^>]*>(.*?)</\1>" result = re.findall(pattern, xml) print(result) ``` 14. 匹配电话号码 ```python import re phone_number = "010-12345678" pattern = r"^0\d{2,3}-\d{7,8}$" result = re.match(pattern, phone_number) if result: print("是电话号码") else: print("不是电话号码") ``` 15. 匹配邮政编码 ```python import re zipcode = "100000" pattern = r"^[1-9]\d{5}$" result = re.match(pattern, zipcode) if result: print("是邮政编码") else: print("不是邮政编码") ``` 16. 匹配身份证号码 ```python import re id_number = "110101199001010101" pattern = r"^\d{6}(19|20)\d{2}(0\d|1[0-2])([0-2]\d|3[0-1])\d{3}[0-9Xx]$" result = re.match(pattern, id_number) if result: print("是身份证号码") else: print("不是身份证号码") ``` 17. 匹配用户名和密码 ```python import re username = "user_123" password = "password123" pattern = r"^[a-zA-Z][a-zA-Z0-9_]{5,17}$|^[a-zA-Z]\w{5,17}$" result1 = re.match(pattern, username) result2 = re.match(pattern, password) if result1 and result2: print("是用户名和密码") else: print("不是用户名和密码") ``` 18. 匹配QQ号码 ```python import re qq_number = "123456789" pattern = r"^[1-9]\d{4,10}$" result = re.match(pattern, qq_number) if result: print("是QQ号码") else: print("不是QQ号码") ``` 19. 匹配微信号 ```python import re wechat_id = "abc123" pattern = r"^[a-zA-Z][-_a-zA-Z0-9]{5,19}$" result = re.match(pattern, wechat_id) if result: print("是微信号") else: print("不是微信号") ``` 20. 匹配车牌号 ```python import re license_plate = "京A12345" pattern = r"^[\u4e00-\u9fa5]{1}[a-zA-Z]{1}\w{5}$" result = re.match(pattern, license_plate) if result: print("是车牌号") else: print("不是车牌号") ``` 21. 匹配微博账号 ```python import re weibo_id = "@example" pattern = r"^@[\w\u4e00-\u9fa5]+" result = re.match(pattern, weibo_id) if result: print("是微博账号") else: print("不是微博账号") ``` 22. 匹配身高 ```python import re height = "180cm" pattern = r"^\d{2,3}cm$" result = re.match(pattern, height) if result: print("是身高") else: print("不是身高") ``` 23. 匹配体重 ```python import re weight = "60kg" pattern = r"^\d{2,3}kg$" result = re.match(pattern, weight) if result: print("是体重") else: print("不是体重") ``` 24. 匹配IPV6地址 ```python import re ipv6_address = "2001:0db8:85a3:0000:0000:8a2e:0370:7334" pattern = r"^([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$" result = re.match(pattern, ipv6_address) if result: print("是IPV6地址") else: print("不是IPV6地址") ``` 25. 匹配MAC地址 ```python import re mac_address = "00:11:22:33:44:55" pattern = r"^([0-9a-fA-F]{2}:){5}[0-9a-fA-F]{2}$" result = re.match(pattern, mac_address) if result: print("是MAC地址") else: print("不是MAC地址") ``` 26. 匹配XML注释 ```python import re xml_comment = "<!-- This is a comment -->" pattern = r"<!--[\s\S]*?-->" result = re.findall(pattern, xml_comment) print(result) ``` 27. 匹配HTML标签属性 ```python import re html_tag = "<div class='example'>Hello, World!</div>" pattern = r"([\w-]+)\s*=\s*\"([^\"]+)\"" result = re.findall(pattern, html_tag) print(result) ``` 28. 匹配RGB颜色值 ```python import re rgb_color = "rgb(255, 255, 255)" pattern = r"^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$" result = re.match(pattern, rgb_color) if result: print("是RGB颜色值") else: print("不是RGB颜色值") ``` 29. 匹配HSL颜色值 ```python import re hsl_color = "hsl(0, 0%, 100%)" pattern = r"^hsl\((\d{1,3}),\s*(\d{1,3})%,\s*(\d{1,3})%\)$" result = re.match(pattern, hsl_color) if result: print("是HSL颜色值") else: print("不是HSL颜色值") ``` 30. 匹配十六进制颜色值 ```python import re hex_color = "#ffffff" pattern = r"^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$" result = re.match(pattern, hex_color) if result: print("是十六进制颜色值") else: print("不是十六进制颜色值") ```
阅读全文

相关推荐

最新推荐

recommend-type

Python使用正则表达式去除(过滤)HTML标签提取文字功能

在Python编程中,正则表达式是一个强大的工具,用于处理字符串和进行模式匹配。本篇文章主要探讨了如何利用正则表达式去除HTML标签并提取文本内容。这在数据清洗、网页抓取等领域非常常见,因为原始HTML源码中通常...
recommend-type

java正则表达式匹配网页所有网址和链接文字的示例

这个示例展示了如何使用Java的正则表达式来匹配网页中的所有网址和链接文字。下面将详细讲解相关知识点。 1. **正则表达式基础**: - 正则表达式(Regular Expression)是一种用于匹配字符串模式的表达式,常用于...
recommend-type

python批量替换页眉页脚实例代码

6. **正则表达式(regex)**:虽然这个实例代码没有直接使用正则表达式进行替换,但在实际的批量替换操作中,我们可能需要使用正则表达式来匹配和替换复杂模式。Python的`re`库可以实现这一功能,例如在替换页眉页脚...
recommend-type

Python3简单爬虫抓取网页图片代码实例

这个简单的Python3爬虫实例不仅教给我们如何抓取网页上的图片,还涉及到了HTTP请求、HTML解析、正则表达式以及文件操作等基础知识。通过理解这个例子,你可以进一步扩展爬虫功能,例如添加错误处理、设置爬取深度、...
recommend-type

Python获取本机所有网卡ip,掩码和广播地址实例代码

总的来说,这个代码段展示了如何使用Python结合系统命令来获取本机网络接口的信息,但需要注意的是,这种方法可能不适用于所有情况,特别是对于那些没有提供命令行工具的网络配置。在更复杂的环境中,可能需要使用更...
recommend-type

Python中快速友好的MessagePack序列化库msgspec

资源摘要信息:"msgspec是一个针对Python语言的高效且用户友好的MessagePack序列化库。MessagePack是一种快速的二进制序列化格式,它旨在将结构化数据序列化成二进制格式,这样可以比JSON等文本格式更快且更小。msgspec库充分利用了Python的类型提示(type hints),它支持直接从Python类定义中生成序列化和反序列化的模式。对于开发者来说,这意味着使用msgspec时,可以减少手动编码序列化逻辑的工作量,同时保持代码的清晰和易于维护。 msgspec支持Python 3.8及以上版本,能够处理Python原生类型(如int、float、str和bool)以及更复杂的数据结构,如字典、列表、元组和用户定义的类。它还能处理可选字段和默认值,这在很多场景中都非常有用,尤其是当消息格式可能会随着时间发生变化时。 在msgspec中,开发者可以通过定义类来描述数据结构,并通过类继承自`msgspec.Struct`来实现。这样,类的属性就可以直接映射到消息的字段。在序列化时,对象会被转换为MessagePack格式的字节序列;在反序列化时,字节序列可以被转换回原始对象。除了基本的序列化和反序列化,msgspec还支持运行时消息验证,即可以在反序列化时检查消息是否符合预定义的模式。 msgspec的另一个重要特性是它能够处理空集合。例如,上面的例子中`User`类有一个名为`groups`的属性,它的默认值是一个空列表。这种能力意味着开发者不需要为集合中的每个字段编写额外的逻辑,以处理集合为空的情况。 msgspec的使用非常简单直观。例如,创建一个`User`对象并序列化它的代码片段显示了如何定义一个用户类,实例化该类,并将实例序列化为MessagePack格式。这种简洁性是msgspec库的一个主要优势,它减少了代码的复杂性,同时提供了高性能的序列化能力。 msgspec的设计哲学强调了性能和易用性的平衡。它利用了Python的类型提示来简化模式定义和验证的复杂性,同时提供了优化的内部实现来确保快速的序列化和反序列化过程。这种设计使得msgspec非常适合于那些需要高效、类型安全的消息处理的场景,比如网络通信、数据存储以及服务之间的轻量级消息传递。 总的来说,msgspec为Python开发者提供了一个强大的工具集,用于处理高性能的序列化和反序列化任务,特别是当涉及到复杂的对象和结构时。通过利用类型提示和用户定义的模式,msgspec能够简化代码并提高开发效率,同时通过运行时验证确保了数据的正确性。"
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

STM32 HAL库函数手册精读:最佳实践与案例分析

![STM32 HAL库函数手册精读:最佳实践与案例分析](https://khuenguyencreator.com/wp-content/uploads/2020/07/bai11.jpg) 参考资源链接:[STM32CubeMX与STM32HAL库开发者指南](https://wenku.csdn.net/doc/6401ab9dcce7214c316e8df8?spm=1055.2635.3001.10343) # 1. STM32与HAL库概述 ## 1.1 STM32与HAL库的初识 STM32是一系列广泛使用的ARM Cortex-M微控制器,以其高性能、低功耗、丰富的外设接
recommend-type

如何利用FineReport提供的预览模式来优化报表设计,并确保最终用户获得最佳的交互体验?

针对FineReport预览模式的应用,这本《2020 FCRA报表工程师考试题库与答案详解》详细解读了不同预览模式的使用方法和场景,对于优化报表设计尤为关键。首先,设计报表时,建议利用FineReport的分页预览模式来检查报表的布局和排版是否准确,因为分页预览可以模拟报表在打印时的页面效果。其次,通过填报预览模式,可以帮助开发者验证用户交互和数据收集的准确性,这对于填报类型报表尤为重要。数据分析预览模式则适合于数据可视化报表,可以在这个模式下调整数据展示效果和交互设计,确保数据的易读性和分析的准确性。表单预览模式则更多关注于表单的逻辑和用户体验,可以用于检查表单的流程是否合理,以及数据录入
recommend-type

大学生社团管理系统设计与实现

资源摘要信息:"基于ssm+vue的大学生社团管理系统.zip" 该系统是基于Java语言开发的,使用了ssm框架和vue前端框架,主要面向大学生社团进行管理和运营,具备了丰富的功能和良好的用户体验。 首先,ssm框架是Spring、SpringMVC和MyBatis三个框架的整合,其中Spring是一个全面的企业级框架,可以处理企业的业务逻辑,实现对象的依赖注入和事务管理。SpringMVC是基于Servlet API的MVC框架,可以分离视图和模型,简化Web开发。MyBatis是一个支持定制化SQL、存储过程以及高级映射的持久层框架。 SpringBoot是一种全新的构建和部署应用程序的方式,通过使用SpringBoot,可以简化Spring应用的初始搭建以及开发过程。它使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。 Vue.js是一个用于创建用户界面的渐进式JavaScript框架,它的核心库只关注视图层,易于上手,同时它的生态系统也十分丰富,提供了大量的工具和库。 系统主要功能包括社团信息管理、社团活动管理、社团成员管理、社团财务管理等。社团信息管理可以查看和编辑社团的基本信息,如社团名称、社团简介等;社团活动管理可以查看和编辑社团的活动信息,如活动时间、活动地点等;社团成员管理可以查看和编辑社团成员的信息,如成员姓名、成员角色等;社团财务管理可以查看和编辑社团的财务信息,如收入、支出等。 此外,该系统还可以通过微信小程序进行访问,微信小程序是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用。同时,它也实现了应用“用完即走”的理念,用户不用关心是否安装太多应用的问题。应用将无处不在,随时可用,但又无需安装卸载。 总的来说,基于ssm+vue的大学生社团管理系统是一款功能丰富、操作简便、使用方便的社团管理工具,非常适合大学生社团的日常管理和运营。