Я знаю, что есть другие вопросы с таким же названием, но я не смог найти в них ответа.
У меня есть строка, которая может быть /action
или /action{key:value}
Я пытаюсь получитьaction
, key
и value
в переменных.
Я пробовал несколько регулярных выражений, которые являются вариациями этого: /^\/(.*?)(\{(.*)\:(.*)\})?/
/^\/(.*?)\{(.*)\:(.*)\}/
соответствует /action{key:value}
, но не /action
/^\/(.*)(\{(.*)\:(.*)\})?/
(объявляя группу захвата необязательной) соответствует /action
, но не /action{key:value}
(захватывает все)
Так что, если я объявлю первую группу ленивой:
/^\/(.*?)(\{(.*)\:(.*)\})?/
она больше ничего не будет соответствовать.
Я знаю, что я близок кРешение, но я уверен, что недопонимание чего-то базового:)