Страницы

Поиск по вопросам

четверг, 18 октября 2018 г.

Регулярное выражение для получения id пользователя

В общем, нужно вывести из строки id пользователя до запятой. В данном коде выводит "id50,", надо только "50". Как?)
text = 'id50, 4124fdgfgdfg'; if(text.match('id[0-9].*,')){ komy = text.match('id[0-9].*,'); alert(komy); }


Ответ

С помощью регулярного выражения ^id(\d+),.*$ (захватывается число в скобках после id, и до запятой). Можно сразу захватить и вторую часть (4124fdgfgdfg), таким выражением: /^id(\d+), (.*)$/
Рабочий пример:
str = 'id42, 4124fdgfgdfg'; if (m = str.match(/^id(\d+), (.*)$/)) { console.log(m[1], m[2]) }
Дает в консоль (можете нажать кнопку "Выполнить код" для проверки):
42 4124fdgfgdfg
Здесь хорошее описание match на русском: https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/String/match
Здесь https://regex101.com/ вы можете онлайн поиграть с регулярными выражениями и сразу видеть результат. Вот ваш пример с тестами и комментариями: https://regex101.com/r/nX1rF5/2

Комментариев нет:

Отправить комментарий