«SyntaxError: неопределенный литерал регулярного выражения» при использовании (? <= Утверждение lookbehind - PullRequest
0 голосов
/ 11 октября 2018

Я получаю разные ошибки для этого кода JavaScript в разных браузерах:

    var updatedate = /(?<=\<meta\ name\=\"updated_at\"\ content\=\")([^\"]*)/;

Я хочу найти дату обновления из метаданных определенных страниц.Это выглядит так:

<meta name="updated_at" content="2018-09-17 11:42 AM">

Я сделал это с помощью Sublime, чтобы убедиться, что он работает, а затем я проверил его на regex101 просто для уверенности, но Chrome и Mozilla продолжают выдавать мне эту ошибку.

Чего мне не хватает?

1 Ответ

0 голосов
/ 11 октября 2018

Подтверждение (?<=...) было добавлено в ECMAScript только недавно.Он поддерживается последней версией Chrome, но не Firefox.

Перепишите ваше регулярное выражение, чтобы использовать простую группу:

var updatedate = /(?:\<meta\ name\=\"updated_at\"\ content\=\")([^\"]*)/;

Затем вы можете извлечь метку времени, открыв data.match(updatedate)[1].

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...