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 特定于模式的转义需要对我的模式进行处理?
我不知道它不喜欢我的正则表达式的地方。
我想要的正则表达式将执行以下操作:
- 允许小写字符、数字和“-”
- 可以以“-”开头但不能以“-”结尾
- 字符串的最大长度不能超过 63 个字符
您可以简化模式以使用字符 类 和量词,而无需使用前瞻和捕获组。
您可以更改量词,匹配允许 -
的 0-62 个字符和没有 -
的单个字符,因为单个字符也意味着它在末尾。
^[-a-z0-9]{0,62}[a-z0-9]$
显然 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 特定于模式的转义需要对我的模式进行处理?
我不知道它不喜欢我的正则表达式的地方。
我想要的正则表达式将执行以下操作:
- 允许小写字符、数字和“-”
- 可以以“-”开头但不能以“-”结尾
- 字符串的最大长度不能超过 63 个字符
您可以简化模式以使用字符 类 和量词,而无需使用前瞻和捕获组。
您可以更改量词,匹配允许 -
的 0-62 个字符和没有 -
的单个字符,因为单个字符也意味着它在末尾。
^[-a-z0-9]{0,62}[a-z0-9]$