json 模式不支持此正则表达式的哪一部分,是否可以重写以支持它?

What part of this regex is not supported by json schema and can it be rewritten to support it?

显然 json 架构不喜欢这个正则表达式:^(?=.{1,63}$)([-a-z0-9]*[a-z0-9])?$

https://regex101.com/r/qsyUoQ/1

我收到一个错误:pattern must be a valid regex。此错误意味着我使用的正则表达式模式根据 json 模式无效。

我的正则表达式似乎对大多数其他解析器都有效。 json 模式支持正面和负面前瞻和捕获组:https://json-schema.org/understanding-json-schema/reference/regular_expressions.html

是否有一些 json 特定于模式的转义需要对我的模式进行处理?

我不知道它不喜欢我的正则表达式的地方。

我想要的正则表达式将执行以下操作:

您可以简化模式以使用字符 类 和量词,而无需使用前瞻和捕获组。

您可以更改量词,匹配允许 - 的 0-62 个字符和没有 - 的单个字符,因为单个字符也意味着它在末尾。

^[-a-z0-9]{0,62}[a-z0-9]$

Regex demo