匹配正则表达式"labes"键/值对



我试着写一个匹配"label "它们基本上是key=value对。在关键&value只能是字母数字(和-)。

这就是我迄今为止所尝试的:/(-*.)=(-*.)/g
但它不适用于输入模式a-b=c-d,它不匹配"a","-d">

有效的输入模式:

a=b
1=1
a-b=c-d
a=b-c

无效输入:

foo=bar
ba=r=b=az
b = z
a-b=c - d
te:st=st:ring

注意空格。键或值中的空白是无效的,只允许一个=

我创建了一个示例:https://regex101.com/r/GNm5K7/1

您可以使用[a-zA-Z0-9-]+在字符类中编写匹配1个或多个字母数字或-的模式

^[a-zA-Z0-9-]+=[a-zA-Z0-9-]+$

查看regex101演示。

如果-不能在开头或结尾:

^[a-zA-Z0-9]+(?:-[a-zA-Z0-9]+)*=[a-zA-Z0-9]+(?:-[a-zA-Z0-9]+)*$

查看另一个regex101演示。

我使用的正则表达式是:/^ [a-zA-Z0-9 -] + = (a-zA-Z0-9 -) +美元/

最新更新