Задать вопрос
@Anton_a46

Регулярное выражение: цифры до любого символа. Как составить?

Есть url, который имеет такую структуру:

https://домен/ЧПУ/135-1-0-3177?param1=param&param2=param

В данном случае 3177 является id материала. Так вот, нужно составить регулярное выражение как-то так, чтобы выцепить из все строки только данный id. Параметры в конце урла могут быть, а могут и не быть. Количество символов в id может варьироваться, но он всегда идет в конце (перед параметрами).
  • Вопрос задан
  • 68 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
const id = /\d+(?=\?|$)/.exec(str)[0];

// или

const id = str.replace(/\?.*/, '').replace(/.*\D/, '');

// или

const id = str.split('?', 1).shift().split('-').pop();

// или

const [ id ] = new URL(str).pathname.match(/\d+/g).slice(-1);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы