【发布时间】:2021-08-13 09:38:14
【问题描述】:
我正在尝试创建一个执行以下操作的正则表达式。
所以我有一个具有匹配值的键,但键本身有一些限制。 一个键可以有一个最多 253 个字符的可选键前缀,而普通键最多可以有 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}$)
【问题讨论】:
-
请提供几个测试用例,看看你到底想得到什么。
标签: regex validation