使用JavaScript regexp标记路径

时间:2015-05-28 12:07:12

标签: 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/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}
)

我想我错过了一些东西,但我无法找到答案。

1 个答案:

答案 0 :(得分:0)

这样的事情:

/\/?[^{\/]*\/?|{[^}]*}/g