我试着写一个匹配"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 -) +美元/