- PVSM.RU - https://www.pvsm.ru -
Кажется, прошла незамеченной хорошая новость.
Разработчики V8 активно взялись за добавление lookbehind assertions [1] в регулярные выражения JavaScript.
Несмотря на уверения в последнем абзаце статьи, я не смог проверить эту возможность в Google Chrome Canary.
Но.
В этом месяце выходит [2] шестая версия Node.js, основанная на V8 5.0, и в ней уже можно включить поддержку lookbehind при помощи флага командной строки --harmony_regexp_lookbehind.
Если совсем не терпится, можно потестировать на последней ночной сборке шестой версии [3] (она, правда, старовата, месячной давности, но в неё включена V8 4.9, где как раз появилась поддержка lookbehind). Для Windows можно даже просто скачать портабельные бинарники из папок win-x64 или win-x86.
Я так протестировал положительный и отрицательный варианты на примере из статьи:
Стоит обратить внимание на две особенности, упомянутые авторами:
1. В отличие от Perl, оба варианта lookbehind поддерживают выражения переменной длины.
2. Разработчики пошли по пути .NET и в другой особенности — установлен непривычный (для начала) порядок запоминания подвыражений и внутренних ссылок.
Автор: vmb
Источник [4]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/javascript/117477
Ссылки в тексте:
[1] активно взялись за добавление lookbehind assertions: http://v8project.blogspot.com/2016/02/regexp-lookbehind-assertions.html
[2] В этом месяце выходит: https://github.com/nodejs/node/issues/5766#issuecomment-198357402
[3] на последней ночной сборке шестой версии: https://nodejs.org/download/nightly/v6.0.0-nightly449684752c449684752c/
[4] Источник: https://habrahabr.ru/post/281270/
Нажмите здесь для печати.