我尝试使用带有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/test1(myval2)
。获得这样的东西:
{
var1: 'myvar1',
var2: 'myvar2'
}
我尝试使用以下正则表达式从路径模板中获取令牌:
(^(\{{1})[\w\/]+(\}{1})$)|([!\{!\}\w]+)
使用它,我几乎拥有我需要的东西。例如,对于模板路径/path/{val1}/rr/test1({val2})
,我有以下标记:
path
{var1}
rr
test1
{val2}
但我想:
/path/
{var1}
/rr/
/test1(
{val2}
)
我想我错过了一些东西,但我无法找到答案。
答案 0 :(得分:0)
这样的事情:
/\/?[^{\/]*\/?|{[^}]*}/g