创建正则表达式模式以匹配 "string/uuid" 模式

Creating a regex pattern to match "string/uuid" pattern

像这样的字符串将匹配:

"test/00b46e01-3994-4ac2-939e-2d5052a65961"

或者像这样

"anotherword/58628d3f-becf-4f54-bdea-336ca9247145"

我的 uuid (v4) 的正则表达式是 "^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$" 我的 JSON 模式(即我的 JSON 对象持有一个 uuid 属性),但现在我也想在此模式前面加入 'string/'。

您可以使用 negated character class 之类的 [^/]+ 来匹配 [=14= 之后模式开头 // 以外的 1 个或多个字符]:

"^[^/]+/[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
  ^^^^^^

参见regex demo

如果您还想匹配在 / 之前没有字符的字符串,请将 + 量词(匹配 1 次或多次出现)替换为 *(0 次或多次出现)出现次数)。