You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python正则提取contentId无匹配结果,求正确正则表达式写法

问题排查与解决方案

原正则错误说明

  • 错误使用全局匹配符^和$:这两个符号匹配的是整个文本的开头和结尾,你的需求是从长文本中提取符合规则的子串,不需要加这两个限定符。
  • 量词使用语法错误:[字符集]*{36}属于重复定义量词,语法不合法,同时你定义的字符集包含了大量无关特殊符号(比如~、@、#等),不符合contentId的字符规则。
  • 缺少上下文匹配:你要提取的contentId固定出现在contentId: '之后、单引号之前,没有匹配这部分前缀和边界,自然无法命中目标内容。

正确实现代码

import re

# 读取文件内容
with open('你的目标文件路径', 'r', encoding='utf-8') as f:
    content = f.read()

# 匹配规则严格对应contentId格式:8位字符+横杠+4位+横杠+4位+横杠+4位+横杠+12位
pattern = r"contentId: '([a-z0-9]{8}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{12})'"
r1 = re.findall(pattern, content)
print(r1)

运行结果

['2301ae56-3b9c-4653-963b-2ad84d06ba08', 'a887526b-ff19-4409-91ff-e1679e418922']

内容的提问来源于stack exchange,提问作者Skyler Martin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 16:24:03