Python re 模块

Python re.search() 函数用于在字符串中搜索第一个匹配

语法

re.search(pattern, string)

参数

pattern:正则表达式。第二个参数 string:要搜索的字符串。可选 flags:匹配标志。

返回值

返回第一个匹配的 Match 对象;找不到返回 None。用 .group() 取匹配内容。

示例

import re

text = "订单号: AB12345,金额: 99"
m = re.search(r"\d+", text)      # 找第一个数字
print(m.group())                 # 12345(AB12345 里的 12345)

# 找不到返回 None
m2 = re.search(r"\d+", "no digits here")
print(m2)                        # None

# 用 span 拿到位置
if m:
    print(m.span())              # (5, 10)

# 带分组
m3 = re.search(r"(\d+)-(\d+)", "电话 123-4567")
print(m3.group(1), m3.group(2))  # 123 4567

注意事项

search 搜整个字符串找第一个匹配;match 只从开头匹配。找不到返回 None,要判断。