Вчера 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++
-
Яндекс Создал Собственный Jabber-Клиент
19 Oct, 24 -
Капча. Взлом И Методы Защиты
19 Oct, 24