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

如何构建符合规则的逗号分隔唯一标识符列表正则表达式?

符合要求的正则表达式构建方案

核心规则拆解

  • 输入为无空格的逗号分隔列表,包含1-8个唯一标识符
  • 单个标识符是标准UUID格式:8-4-4-4-12位十六进制字符,仅允许-作为内部分隔符
  • 整个输入仅允许十六进制字符、-和,,禁止空格及其他特殊字符

正则表达式构建

1. 单个标识符匹配规则

先定义单个UUID的匹配模式,确保仅包含合法的十六进制字符和规定的-:

[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}

2. 列表整体匹配规则

结合“1-8个元素”的数量要求,使用锚定符和重复限定符控制整体结构,确保输入完全符合要求:

^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}(?:,[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}){0,7}$

3. 简化可读写法(可选)

如果所用正则引擎支持非捕获组嵌套,可以简化重复逻辑,提升可读性:

^(?:[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12})(?:,(?:[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12})){0,7}$

规则验证说明

  • ^ 和 $:锚定整个字符串,避免前后出现空格或其他非法字符
  • (?:...):非捕获组,仅用于分组重复逻辑,不保存捕获结果,提升匹配性能
  • {0,7}:允许在第一个标识符后追加0到7个带逗号前缀的标识符,确保总数量在1-8之间
  • 仅允许0-9a-fA-F、-、,三类字符,天然排除空格和其他特殊字符

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 08:35:40