- PVSM.RU - https://www.pvsm.ru -

Lookbehind assertions в V8

Кажется, прошла незамеченной хорошая новость.

Разработчики 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.

Я так протестировал положительный и отрицательный варианты на примере из статьи:

Lookbehind assertions в V8 - 1

Стоит обратить внимание на две особенности, упомянутые авторами:

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/