@lexstile

Как написать регулярное выражение для роутов?

Например, есть роут:
const rout = '/project/:projectId/menu/:menuId';
Мне из него нужно получить только projectId и menuId (без двоеточий).
Пишу так:
const regex = /:([a-z0-9_]*)/gi;
rout.match(regex);

// output
// ['projectId', 'menuId']
  • Вопрос задан
  • 84 просмотра
Решения вопроса 1
dollar
@dollar
Делай добро и бросай его в воду.
Просмотр назад нужен, если по-простому исправлять:
regex = /(?<=:)([a-z0-9_]*)/gi;

Ещё можно через цикл сделать. А так вообще зависит от условий. Если структура всегда такая, ровно 4 секции, ровно две из них с двоеточием, и меняются только a-z, то решение я написал выше, иначе нужно будет усложнять регулярку и/или сопутствующий код.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы