The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Выпуск библиотеки PCRE2 10.37

30.05.2021 22:22

Вышел релиз библиотеки PCRE2 10.37, предоставляющей набор функций на языке Си с реализацией регулярных выражений и средств сопоставления с образцом (pattern matching), близких по синтаксису и семантике к регулярным выражениям языка Perl 5. PCRE2 представляет собой переработанную реализацию оригинальной библиотеки PCRE с несовместимым API и расширенными возможностями. Библиотека основана разработчиками почтового сервера Exim и распространяется под лицензией BSD.

Основные изменения:

  • Из библиотеки libpcre2-posix удалены символы POSIX-функций, такие как regcomp, так как они вызывали проблемы у некоторых приложений. Патч pcre2-symbol-clash.patch принят в апстрим. Также обновлена версия ABI этой библиотеки.
  • Исправлена проблема, гипотетически приводящая к разыменованию нулевого указателя.
  • Исправлены две ошибки при обработке очень больших чисел, приводящие к поведению, не соответствующему движку регулярных выражений Perl. Например, выражение "/\214748364/" приводило к переполнению вместо обработки как восьмеричное число "\214" с идущими следом символами "748364".
  • Исправлено неправильное поведение при использовании в шаблонах операции "\K".
  • В JIT возвращена оптимизация операций повторения символа.


  1. Главная ссылка к новости (https://lists.exim.org/lurker/...)
  2. OpenNews: Mozilla перешла на использование общего с Chromium движка регулярных выражений
  3. OpenNews: Компания Google открыла исходные тексты библиотеки регулярных выражений RE2
  4. OpenNews: PCRE 6.0
  5. OpenNews: Уязвимость в Perl и библиотеке PCRE
  6. OpenNews: Выпуск GNU grep 2.15 с поддержкой JIT-компиляции для PCRE-выражений
Автор новости: Zenitur
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/55234-pcre
Ключевые слова: pcre, regex
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (17) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 01:14, 31/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Давно пора, постоянно использую. Говорят что плюсовая re2 что-то там быстрее или эффективнее по памяти, но она же огрызок никчёмный. Лучше бы вложились в развитие сабжа.
     
     
  • 2.2, Анатолий (??), 05:33, 31/05/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Попробуйте https://github.com/hanickadot/compile-time-regular-expressions
     
     
  • 3.5, нах.. (?), 08:50, 31/05/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    И снова отвратные кресты, в чистый С не судьба ага.
     
     
  • 4.13, Аноним (13), 12:14, 31/05/2021 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Человек нашел отличную либу и поделился ссылкой, не хочешь не используй, к чему этот комментарий?
     
     
  • 5.18, Аноним (18), 16:03, 31/05/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    так это типичный иксперт опеннета с типичным же комментарием
     
  • 3.8, Аноним (13), 09:42, 31/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Оооо спасибо коллега, класс библиотека!
     
  • 3.16, zfs (??), 13:37, 31/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Как она по сравненнию с Boost.Xpressive?
     
  • 2.19, Хулио (?), 02:26, 01/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Нафига вкладываться в левый API, если Regexp уже есть в STL?
     

  • 1.3, Аноним (3), 06:54, 31/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Надо было писать на Rust.

    // b. ню-ню

     
     
  • 2.7, Жироватт (ok), 09:09, 31/05/2021 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Чтобы тянуть за собой половину интернетов?

    // бххх

     
     
  • 3.10, Аноним (10), 10:06, 31/05/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Ню-ню

    // b.

     
  • 3.15, Аноним (15), 12:22, 31/05/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Зато Rust бы догадался, что \214 это восьмеричное число. Он же типабезопасный.
     
  • 2.14, Ordu (ok), 12:20, 31/05/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Не надо.

    https://docs.rs/regex/

     

  • 1.4, YetAnotherOnanym (ok), 07:54, 31/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > вместо обработки как восьмеричное число "\214" с идущими следом символами "748364"

    Как вообще может прийти в голову такое без скобок записать?

     
     
  • 2.11, gogo (?), 11:16, 31/05/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Кстати, почему именно 0214, а не 021 ? ))
     
     
  • 3.20, а (?), 11:23, 01/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    видимо принято считать, что число должно быть соразмерно байту хотя бы, а для восмеричной записи байт это трехзначное число.
    но в целом я тоже не понял, почему граница должна тут проходить, а не дальше.
     

  • 1.6, Жироватт (ok), 09:07, 31/05/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    Греет душу. Серьёзно, таки новости греют душу. Особенно на фоне всяческой сжв-дряни
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру