首页 > 解决方案 > 带有前缀的 UUID 的 Java 正则表达式

问题描述

我正在尝试为前缀字符串 + uuid 创建一个正则表达式。我知道 UUID 有正则表达式"\b[0-9a-f]{8}\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\b[0-9a-f]{12}\b",但是如果我在那里添加一个前缀会是什么样"id ="子?

标签: javaregex

解决方案


以下应该有效:

"\bid\s*=\s*[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}\b"
  • 以单词边界 ( ) 开始和结束行\b确保它不匹配fooid = ......-0123456789abBAR
  • 前面和后面允许有任意数量 ( *) 的空格 ( )\s=
  • 我已经删除了 UUID 中间的单词边界,因为我怀疑你是否想要它们
  • [0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-可以替换为([0-9a-f]{4}-){3}(重复括号中的部分3次)

推荐阅读