分享一些Python 常见的正则表达式示例
2025-03-29 01:21:39 178 分享链接 开发笔记 python
正则表达式解释
r"(本章未完.*":r 表示原始字符串,避免转义字符的影响。(本章未完 是要匹配的起始文本,.* 表示匹配任意数量的任意字符。
r"oread8":匹配包含 “oread8” 的文本。
正则表达式是一种强大的文本匹配工具,在 Python 里可以借助 re
模块使用。下面为你分享一些常见的正则表达式示例以及对应的 Python 代码:
1. 匹配邮箱地址
邮箱地址通常由用户名、域名和顶级域名组成,格式为 username@domain.com
。
import re
email_pattern = r'^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$'
email = 'example@example.com'
if re.match(email_pattern, email):
print(f'{email} 是有效的邮箱地址')
else:
print(f'{email} 不是有效的邮箱地址')
解释:
^
:匹配字符串的开始。[a-zA-Z0-9_.+-]+
:匹配一个或多个字母、数字、下划线、点、加号或减号。@
:匹配邮箱地址中的@
符号。[a-zA-Z0-9-]+
:匹配一个或多个字母、数字或减号。\.
:匹配邮箱地址中的点。[a-zA-Z0-9-.]+
:匹配一个或多个字母、数字、减号或点。$
:匹配字符串的结束。
2. 匹配手机号码
在中国,手机号码通常是 11 位数字,以 1 开头。
import re
phone_pattern = r'^1[3-9]\d{9}$'
phone = '13800138000'
if re.match(phone_pattern, phone):
print(f'{phone} 是有效的手机号码')
else:
print(f'{phone} 不是有效的手机号码')
解释:
^
:匹配字符串的开始。1
:匹配手机号码的第一位数字。[3-9]
:匹配手机号码的第二位数字,范围是 3 到 9。\d{9}
:匹配 9 个数字。$
:匹配字符串的结束。
3. 匹配 HTML 标签
HTML 标签以 <
开头,以 >
结尾。
import re
html_pattern = r'<[^>]+>'
html = '<p>这是一个段落</p>'
tags = re.findall(html_pattern, html)
print(f'匹配到的 HTML 标签:{tags}')
解释:
<
:匹配 HTML 标签的开始符号。[^>]+
:匹配一个或多个非>
字符。>
:匹配 HTML 标签的结束符号。
4. 匹配日期(格式:YYYY-MM-DD)
日期通常由年、月、日组成,格式为 YYYY-MM-DD
。
import re
date_pattern = r'^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$'
date = '2024-10-01'
if re.match(date_pattern, date):
print(f'{date} 是有效的日期')
else:
print(f'{date} 不是有效的日期')
解释:
^
:匹配字符串的开始。\d{4}
:匹配 4 个数字,表示年份。-
:匹配日期中的连字符。(0[1-9]|1[0-2])
:匹配月份,范围是 01 到 12。-
:匹配日期中的连字符。(0[1-9]|[12][0-9]|3[01])
:匹配日期,范围是 01 到 31。$
:匹配字符串的结束。
5. 匹配 IP 地址
IP 地址由四个数字组成,每个数字范围是 0 到 255,用点分隔。
import re
ip_pattern = r'^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$'
ip = '192.168.1.1'
if re.match(ip_pattern, ip):
print(f'{ip} 是有效的 IP 地址')
else:
print(f'{ip} 不是有效的 IP 地址')
解释:
^
:匹配字符串的开始。(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)
:匹配一个 0 到 255 之间的数字。\.
:匹配 IP 地址中的点。{3}
:重复前面的模式 3 次。(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)
:匹配最后一个 0 到 255 之间的数字。$
:匹配字符串的结束。
这些示例能帮你理解正则表达式的基本用法,你可以根据具体需求对正则表达式进行调整。
下一篇:必应手机壁纸常见的尺寸有哪些?
最近更新
- 2025-07-06 11:37
- 用 PYTHON 编写的一个分镜段落文本与SRT字幕合并匹配的函数实例
- 2025-07-04 18:20
- 详细列出 drawtext 滤镜在 ffmpeg7.1.1 支持的参数列表
- 2025-07-04 16:33
- windows cmd 中调用 FFmpeg 命令的注意事项
- 2025-07-04 16:18
- Windows 命令行解析复杂参数时的典型错误问题
- 2025-07-03 22:50
- 详细介绍 FFmpeg7.1.1 subtitles 滤镜 force_style 支持的参数
- 2025-07-03 05:11
- 借助 FFmpeg 的 filter_complex 滤镜混合音频流的实例。
- 2025-07-03 02:26
- 借助 FFmpeg 的 drawtext 滤镜给视频添加标题。
- 2025-07-02 18:19
- 使用ffmpeg处理srt字幕的对齐和位置相关参数说明
- 2025-07-01 23:20
- 可以批量剪辑视频的软件有哪些呢?这五款超好用!
- 2025-05-10 17:40
- 零基础也能秒懂的场景设计课,从「叙事场景 / 氛围场景」分类到「分镜表模板」。