Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JavaScript regexp标记化路径_Javascript_Regex - Fatal编程技术网

使用JavaScript regexp标记化路径

使用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。要获得这样的东西:

我尝试使用带有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