Re2 — Новая Библиотека Регулярных Выражений

Вчера Google выпустил новую библиотеку регулярных выражений — РЕ2 .

Библиотека написана на C++.

Существует два подхода к реализации регулярных выражений: недетерминированный.

конечные автоматы (НКА) и детерминированные конечные автоматы (ДКА).

Первый механизм регулярных выражений используется, например, в Perl, Python, Ruby и .

NET. К сожалению, в этом случае время работы программы может увеличиться.

экспоненциально и использование стека может расти бесконечно.

Такое поведение оказалось неприемлемым для таких проектов Google, как Code Search, Sawzall и Bigtable, поэтому программисты компании написали библиотеку на основе детерминированных конечных автоматов.

RE2 гарантирует линейную скорость поиска и ограниченное использование стека.

DFA также используется, например, в lex и egrep. В отличие от большинства аналогичных реализаций, RE2 поддерживает почти все основные функции PCRE. Библиотека распространяется по лицензии BSD. УПД : Удален Tcl из примеров NFA, теперь там используются DFA. Теги: #Google #регулярные выражения #C++ #C++

Вместе с данным постом часто просматривают: