Pull to refresh

Comments 6

Следует заметить, что статья 2007-го года, и с тех пор что-то могло поменяться... но не поменялось для конкретно этого синтетического регулярного выражения.

Код на PHP 8.1.9 работает быстро, но для n > 18 не находит матч. Код на Python 3.10 всё так же тормозит.

Из того, что было проверить под рукой, только крейт regex в Rust показал себя отлично, что, в общем неудивительно, учитывая, что под капотом в этом крейте есть несколько разных движков, включая и NFA Томпсона: про это недавно был отличный перевод. Впрочем, это неудивительно: эта серия статей и библиотека RE2 и вдохновили автора на написание этого крейта.

Ааааа! С 2007го года конечно и надо было начинать перевод, а то читая абсолютно не мог понять почему нигде не упомянут RE2 :). А оказывается автор был одним из авторов RE2 и этот движок по сути и описывает.

Ну да. Такое стоит писать первым абзацем от автора. Вот хорошая библиотека, а дальше будет неплохая статья имеющая историческую ценность от автора этой библиотеки.

Перевод этой статьи уже был. Но продолжений вроде не последовало...

В том переводе есть фатальный недостаток. И не хватает частей.

Интересно, в Java прямо написано "The Pattern engine performs traditional NFA-based matching with ordered alternation as occurs in Perl 5."

И о каком произвольном коде во время поиска идёт речь?

Sign up to leave a comment.

Articles