使用JavaScript regexp标记化路径
我尝试使用带有JavaScript的regexp标记路径以提取路径变量 我有一个表达式,它给出了允许定义可变部分的路径模板。如下所示:/path/{val1}/rr/{val2}、/path/{val1}/rr/test1{val2}或/path/{val1}/rr/test1{val2} 我想提取如下路径的可变部分的值:/path/myval1/rr/myval2、/path/myval1/rr/test1myval2或/path/myval1/rr/test1myval2。要获得这样的东西:使用JavaScript regexp标记化路径,javascript,regex,Javascript,Regex,我尝试使用带有JavaScript的regexp标记路径以提取路径变量 我有一个表达式,它给出了允许定义可变部分的路径模板。如下所示:/path/{val1}/rr/{val2}、/path/{val1}/rr/test1{val2}或/path/{val1}/rr/test1{val2} 我想提取如下路径的可变部分的值:/path/myval1/rr/myval2、/path/myval1/rr/test1myval2或/path/myval1/rr/test1myval2。要获得这样的东西:
{
var1: 'myvar1',
var2: 'myvar2'
}
/\/?[^{\/]*\/?|{[^}]*}/g
我尝试使用以下regexp从路径模板获取令牌:
(^(\{{1})[\w\/]+(\}{1})$)|([!\{!\}\w]+)
用它,我几乎得到了我需要的东西。例如,对于模板path/path/{val1}/rr/test1{val2},我有以下标记:
path
{var1}
rr
test1
{val2}
但我想:
/path/
{var1}
/rr/
/test1(
{val2}
)
我想我错过了什么,但我不知道是什么。类似这样的事情:
{
var1: 'myvar1',
var2: 'myvar2'
}
/\/?[^{\/]*\/?|{[^}]*}/g