商城首页欢迎来到中国正版软件门户

您的位置:首页 >Python re.match用法详解

Python re.match用法详解

  发布于2025-11-26 阅读(0)

扫一扫,手机访问

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

python re.match函数的使用

re.match 是 Python 正则表达式模块 re 中的一个函数,用于从字符串的开头匹配一个模式。如果开头不匹配,则返回 None,不会继续向后查找。

基本语法

re.match(pattern, string, flags=0)

  • pattern:正则表达式模式
  • string:要匹配的字符串
  • flags:可选标志位,如 re.IGNORECASE、re.MULTILINE 等

返回值是一个 match 对象,包含匹配信息;如果没有匹配,则返回 None。

常见用法示例

判断字符串是否以某个模式开头:

import re

text = "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。不复杂但容易忽略这一点。

本文转载于:互联网 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注