创建正则表达式模式以匹配 "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 次或多次出现)出现次数)。
像这样的字符串将匹配:
"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 次或多次出现)出现次数)。