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

如何使用正则表达式跳过字符串指定片段、匹配首尾边界提取目标内容

可正确提取目标内容的正则写法

原有正则的缺陷

之前使用的正则仅匹配了[~ + 24位小写字母数字UUID + :的前缀段,正向预查逻辑只做了后续长度校验,既没有捕获冒号后的目标内容,也没有匹配结尾的]闭合边界,无法完成内容提取。

可用正则及示例代码

直接使用以下正则即可完整匹配符合规则的字符串结构,同时提取目标内容:

import re

st = "[~620cc13778d079432b9bc7b1:Hello WorldGuest]"
# 匹配完整结构、提取目标内容的正则
pattern = r"\[\~[a-z0-9]{24}:([^\]]{0,64})\]"
match_res = re.search(pattern, st)

if match_res:
    target = match_res.group(1)
    print(target)

运行上述代码会输出预期结果:Hello WorldGuest

正则规则说明

  • \[\~:转义匹配固定开头字符[~
  • [a-z0-9]{24}:精确匹配24位由小写字母、数字组成的UUID段
  • ::匹配UUID与目标内容之间的固定冒号分隔符
  • ([^\]]{0,64}):核心捕获组,匹配最多64个非]的字符(即待提取的目标内容),从规则上避免跨闭合标签误匹配
  • \]:转义匹配固定结尾字符],强制校验字符串结构闭合

如果不需要严格规避内容中出现]的异常场景,也可以将捕获组替换为(.{0,64}),对应正则为r"\[\~[a-z0-9]{24}:(.{0,64})\]",完全符合给出的示例场景提取要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 00:18:23