带前缀和约束的正则表达式
Regexp with prefix and constraints
我正在尝试创建一个执行以下操作的正则表达式。
所以我有一个具有匹配值的键,但键本身有一些限制。
一个键可以有一个最多 253 个字符的 optional 键前缀,而普通键最多可以有 63 个字符。键前缀用斜杠分隔。
键前缀也只能有以下字符集:[a-z0-9A-Z\.]
而关键部分使用以下字符集:[a-z0-9A-Z\_\.\-]
所以这个格式
(key-prefix)/(key) : (value)
我的问题是我不太擅长正则表达式..我设法用以下方法解决了关键部分
^[A-Za-z0-9][_0-9A-Za-z-]{0,62}$
我知道我必须做一些涉及分组的事情才能获得前缀。类似下面的内容,但是当我尝试添加另一个组时它停止匹配。
(^[A-Za-z0-9][_0-9A-Za-z-]{0,252}$\/)?(^[A-Za-z0-9][_0-9A-Za-z-]{0,62}$)
您可以将正则表达式设置为 (^[A-Za-z0-9][_0-9A-Za-z-]{0,252}\/[A-Za-z0-9][_0-9A-Za-z-]{0,62}$)
请访问 https://regex101.com/r/GBNe14/1 并尝试不同的组合。
我正在尝试创建一个执行以下操作的正则表达式。
所以我有一个具有匹配值的键,但键本身有一些限制。 一个键可以有一个最多 253 个字符的 optional 键前缀,而普通键最多可以有 63 个字符。键前缀用斜杠分隔。
键前缀也只能有以下字符集:[a-z0-9A-Z\.]
而关键部分使用以下字符集:[a-z0-9A-Z\_\.\-]
所以这个格式
(key-prefix)/(key) : (value)
我的问题是我不太擅长正则表达式..我设法用以下方法解决了关键部分
^[A-Za-z0-9][_0-9A-Za-z-]{0,62}$
我知道我必须做一些涉及分组的事情才能获得前缀。类似下面的内容,但是当我尝试添加另一个组时它停止匹配。
(^[A-Za-z0-9][_0-9A-Za-z-]{0,252}$\/)?(^[A-Za-z0-9][_0-9A-Za-z-]{0,62}$)
您可以将正则表达式设置为 (^[A-Za-z0-9][_0-9A-Za-z-]{0,252}\/[A-Za-z0-9][_0-9A-Za-z-]{0,62}$)
请访问 https://regex101.com/r/GBNe14/1 并尝试不同的组合。