Как регулярным выражением получить числа разделенные дефисом?
Мне нужно из строки
https://mydom.com/recordings/sxqnplzmqzbhpgfe/xzconf350950vui351044naxz_2020-09-02-10-52-45.mp4
получить 2020-09-02-10-52
Никак не работает регулярное выражение:
var str = 'https://mydom.com/recordings/sxqnplzmqzbhpgfe/xzconf350950vui351044naxz_2020-09-02-10-52-45.mp4';
var arr = str.match("/.*(\d{4}\-\d{2}\-\d{2}\-\d{2}\-\d{2}).*\.mp4/g");
console.log(arr); // NULL
Ответы (3 шт):
Автор решения: UModeL
→ Ссылка
var str = 'https://mydom.com/recordings/sxqnplzmqzbhpgfe/xzconf350950vui351044naxz_2020-09-02-10-52-45.mp4';
var arr = str.match(/_([\d-]+)-\d+\./);
console.log(arr[1]); // 2020-09-02-10-52
Автор решения: dIm0n
→ Ссылка
Вот так вот:
[\d-]+(?=\.mp4)
https://mydom.com/recordings/sxqnplzmqzbhpgfe/xzconf350950vui351044naxz_2020-09-02-10-52-45.mp4'
Автор решения: Qwertiy
→ Ссылка
- Кавычки лишние.
- Впрочем,
\перед-тоже лишний, но он на результат не влияет. - Ну и нет смысла мэтчить всю строку такой регуляркой, достаточно просто фрагмента.
- Флаг вроде тоже лишний.
var str = 'https://mydom.com/recordings/sxqnplzmqzbhpgfe/xzconf350950vui351044naxz_2020-09-02-10-52-45.mp4';
var arr = str.match(/\d{4}-\d{2}-\d{2}-\d{2}-\d{2}/);
console.log(arr[0]);