Как работают регулярные выражения в js?

143
08 октября 2019, 11:30

Есть строка 'IM'">Сегодня 12:36</span> Хочу получить из него дату

Пробуют таким образом

var regex = '/(?<=IM>).+?(?=<)/';
var text = ''IM'">Сегодня 12:36</span>';
var result = text.match(regex);
console.log(result);

Почему то не работает такая регулярка. Что не так? В онлайн сервисах регулярка отрабатывает корректно

Answer 1

В этом регулярном выражении использовано lookbehind assertion. Это относительно новое свойство языка и оно ещё не везде поддерживается, зависит от типа и версии браузера или Node.js.

Answer 2

Можно попробовать получить дату с помощь групп. Примерно так:

var text = `'IM'">Сегодня 12:36</span>`; 
var pattern = new RegExp('IM\'">(.+?)<\/'); 
 
console.log(text.match(pattern)[1]);

READ ALSO
Простейшая валидация e-mail на JS

Простейшая валидация e-mail на JS

При передачи в функции id с числовым именем все работает на "ура", НО когда id состоит из букв, консоль сразу даёт ошибку "UnCaught TypeError"

126
Vuetify vuetify-lazy-image

Vuetify vuetify-lazy-image

Для реализации ленивой загрузки изображений установил vuetify-lazy-image

138
Почему в цикле JS получаю не все атрибуты [закрыт]

Почему в цикле JS получаю не все атрибуты [закрыт]

Прохожу по коллекции элементов циклом forEach или FOR и почему то выводит только значение атрибута первого элемента а остальные null, хотя сами...

116
Удаленный доступ к MySQL на MariaDB

Удаленный доступ к MySQL на MariaDB

Сайт находиться на VPS, база очень большая 1гб, развернули MySQL MariaDB на терминальном сервере, как теперь законектить БД с сайтом?

128