Я пытаюсь tokenize путь для извлечения переменных пути с помощью regexp с JavaScript.Токсизировать путь с использованием 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}
)
Я думаю, что я что-то пропустил, но я не могу выяснить, что.