Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   И снова регулярка (https://javascript.ru/forum/misc/77416-i-snova-regulyarka.html)

Sergey1986 29.04.2019 22:55

И снова регулярка
 
Доброго времени суток!

есть таккая вот штука

url = 'user/1';
template = 'user/{id:\d+}'; 

template = template.replace(/{([A-Za-z]+):([^\}]+)}/g, '(?<id>/\d+)'); //в пхп (?P<\1>\2)
template = '^' + template + '$';

arr = url.match(template); 

console.log(template); 
console.log(arr);


выводит

"^user/(?<id>/d+)$"
null


Где делаю ошибку, Заранее спасибо!

Ожидал что будет массив

рони 29.04.2019 23:46

Sergey1986,
:-?

Sergey1986 29.04.2019 23:58

Профессора вы где? ????

рони 30.04.2019 00:04

Sergey1986,
скажи, что сделать то, хочешь?

Sergey1986 30.04.2019 07:31

Есть шаблон, в которой указываю как выглядит url , после сравниваю с урл и вытаскиваю данные из нее

ksa 30.04.2019 07:56

Sergey1986, когда речь идет о регулярках, обычно пишут:
- Имею вот такую строку, хочу из нее получить вот такое.

У тебя какая строка?
Какой массив ты из нее собрался получить?

Sergey1986 30.04.2019 08:27

Планирую получить в arr(id)=1

ksa 30.04.2019 08:57

Цитата:

Сообщение от Sergey1986
Планирую получить в arr(id)=1

Цитата:

Сообщение от ksa
У тебя какая строка?

Так и нет ответа... :cray:

ksa 30.04.2019 08:59

Цитата:

Сообщение от Sergey1986
получить в arr(id)=1

Ну допустим, arr это идентификатор переменной...
Но в JS нет круглых скобок. :no:
И что есть id? :blink:

Sergey1986 30.04.2019 10:18

template = 'user/{id:\d+}';

на уровне шаблона указываю какой будет ключ в масиве

arr[id] = 1 (условно)

Так более понятно?


Часовой пояс GMT +3, время: 14:13.