---
metadata:
  - name: generator
    content: Diplodoc Platform v5.52.0
alternate:
  - https://ydb.tech/docs/en/yql/reference/udf/list/pcre.md?version=v25.3
  - https://ydb.tech/docs/ru/yql/reference/udf/list/pcre.md?version=v25.3
  - href: ru/yql/reference/udf/list/pcre.md
    type: text/markdown
    title: Markdown version
  - href: ../../../../llms.txt
    type: text/markdown
    title: llms.txt
sourcePath: ru/core/yql/reference/udf/list/pcre.md
---
> **Documentation Index:** Fetch the complete configuration index at https://ydb.tech/docs/ru/llms.txt

# Pcre

Библиотека Pcre на данный момент является алиасом к [Hyperscan](https://ydb.tech/docs/ru/yql/reference/udf/list/hyperscan.md?version=v25.3).


На данный момент доступны:

* [Hyperscan](https://ydb.tech/docs/ru/yql/reference/udf/list/hyperscan.md?version=v25.3) <span style="color: gray;">(Intel)</span>
* [Pire](https://ydb.tech/docs/ru/yql/reference/udf/list/pire.md?version=v25.3) <span style="color: gray;">(Яндекс)</span>
* [Re2](https://ydb.tech/docs/ru/yql/reference/udf/list/re2.md?version=v25.3) <span style="color: gray;">(Google)</span>

Все три модуля предоставляют примерно одинаковый набор функций с идентичным интерфейсом, что позволяет переключаться между ними с минимальными изменениями запроса.

HyperScan внутри имеет несколько реализаций с использованием разных наборов процессорных инструкций, среди которых автоматически выбирается нужная в соответствии с текущим процессором. В Hyperscan также доступны отдельные функции с backtracking (возможность сослаться на предыдущую найденную часть строки), которые реализованы через гибридное использование двух библиотек Hyperscan и libpcre.

[Pire](https://github.com/yandex/pire) (Perl Incompatible Regular Expressions) это разработанная в Яндексе очень быстрая библиотека регулярных выражений. На нижнем уровне она просматривает входную строку один раз, подряд, без откатов, и тратит (на x86 и x86_64) по 5 инструкций на символ. Но с 2011-2013 года эта библиотека практически не развивается и как намекает название («i» расшифровывается как incompatible), возможно потребуется адаптировать сами выражения.

Hyperscan и Pire рассчитаны в первую очередь под Grep и Match.

Модуль Re2 использует [google::RE2](https://github.com/google/re2), где реализован широкий ассортимент возможностей ([см. официальную документацию](https://github.com/google/re2/wiki/Syntax)). Основной плюс библиотеки Re2 — развитый функционал по Capture и Replace, если вам нужны эти функции, то рекомендуется пользоваться именно ей.
