Python re.match用法详解
re.match用于从字符串开头匹配模式,若开头不匹配则返回None;其语法为re.match(pattern,string,flags=0),常用于判断前缀匹配或提取起始内容,如匹配成功可使用group()获取结果,否则应使用re.search进行全局查找。
re.match用于从字符串开头匹配模式,若开头不匹配则返回None;其语法为re.match(pattern, string, flags=0),常用于判断前缀匹配或提取起始内容,如匹配成功可使用group()获取结果,否则应使用re.search进行全局查找。

re.match 是 Python 正则表达式模块 re 中的一个函数,用于从字符串的开头匹配一个模式。如果开头不匹配,则返回 None,不会继续向后查找。
基本语法
re.match(pattern, string, flags=0)
- pattern:正则表达式模式
- string:要匹配的字符串
- flags:可选标志位,如 re.IGNORECASE、re.MULTILINE 等
返回值是一个 match 对象,包含匹配信息;如果没有匹配,则返回 None。
常见用法示例
判断字符串是否以某个模式开头:
import retext = "Hello World"
result = re.match(r"Hello", text)
if result:
print("匹配成功:", result.group())
else:
print("不匹配")
输出:匹配成功: Hello
注意:下面这个例子会失败,因为 match 只检查开头:
text = "Say Hello"result = re.match(r"Hello", text) # 返回 None
如果想在任意位置查找,应使用 re.search()。
提取匹配内容
通过 group() 方法获取匹配的子串:
text = "Username123"result = re.match(r"(\w+)(\d+)", text)
if result:
print("全部匹配:", result.group(0))
print("第一组:", result.group(1)) # 字母部分
print("第二组:", result.group(2)) # 数字部分
输出:
- 全部匹配: Username123
- 第一组: Username
- 第二组: 123
使用标志位
忽略大小写匹配:
text = "hello world"result = re.match(r"HELLO", text, re.IGNORECASE)
# 或者写成 re.match(r"HELLO", text, re.I)
if result:
print("匹配成功")
基本上就这些。记住:re.match 只管开头,不管中间。需要全局搜索时换 re.search 或 re.findall。不复杂但容易忽略这一点。
Postman是一套面向API全生命周期的开发与测试平台,可在Mac上发送和调试多种协议请求,管理集合、环境及认证信息,并完成脚本测试、模拟服务、监控、文档发布和团队协作。它适合开发、测试及运维人员使用,提供个人免费方案。
Docker Desktop 是 Docker 官方为 Mac 提供的容器开发环境,集成 Docker Engine、命令行工具、Compose、Build、Kubernetes 与图形化管理界面。
Android Studio 是 Google 面向安卓应用开发提供的官方集成开发环境,基于 IntelliJ IDEA 构建。它整合智能代码编辑、Gradle 构建、界面预览、设备模拟、性能分析、调试测试及 APK 分析等工具。
PixPix 是面向品牌、卖家和内容团队的在线 AI 图片视频创作平台,提供图视频 Agent、无限画布、图片生成、视频生成、自然语言编辑及商品套图、产品精修和带货视频等电商工具。
Postman 是面向 API 全生命周期的开发与协作平台。Windows 桌面版可用于构建和发送 HTTP、GraphQL、gRPC、WebSocket、MQTT 等请求,并提供环境变量、集合、脚本测试、模拟服务、监控、文档及团队工作区等
Docker Desktop 为 Windows 开发者提供集成式容器环境,内置 Docker Engine、命令行工具、Compose、Build 与 Kubernetes 等组件,可在本机完成镜像构建、容器运行、日志查看和资源管理。













