Skip to content
English Русский Deutsch Български Français Español

Вступление

Библиотека TRegExpr реализует регулярные выражения.

Регулярные выражения являются простым и мощным инструментом для сложного поиска и замены, а также для проверки текста на основе шаблонов.

Они особенно полезны для проверки пользовательского ввода в web-формах - для проверки электронных адресов и так далее.

Также вы можете извлекать номера телефонов, почтовые индексы и т.д. из веб-страниц или документов, искать сложные паттерны в лог-файлах и всё, что можете себе представить. Правила (шаблоны) могут быть изменены без перекомпиляции вашей программы.

TRegExpr реализован на чистом Pascal. Он включен в проект Lazarus (Free Pascal): package. Но также существует как отдельная библиотека и может быть скомпилирован с помощью Delphi 2-7, Borland C++ Builder 3-6.

Как библиотека была встречена.

Быстрый старт

Просто добавьте исходники в Ваш проект и используйте класс TRegExpr.

Благодаря FAQ вы можете учиться на чужих ошибках.

Вы можете скачать Windows приложение REStudio созданное на базе этой библиотеки и предназначенное для отладки регулярных приложений.

Вы можете создать тикет.

Переводы

Документация переведена на English и Russian.

Есть незавершенные переводы на несколько других языков. Если вы хотите помочь завершить их contact me.

Благодарности

Множество функций предложено и множество ошибок найдено (и даже исправлено) благодаря контрибуторам TRegExpr.

Я не могу перечислить здесь всех их, но я ценю все сообщения об ошибках, предложения по улучшению функционала и вопросы, которые я получаю от вас.

  • Alexey Torgashin - основной контрибутор начиная с 2019. реализовал именованные группы, не захватывающие группы, заглядывания вперед и назад, обратный поиск и многое другое
  • Guido Muehlwitz - обнаружена и исправлена ошибка в обработке больших строк
  • Stephan Klimek - тестирование в CPPB и предложение / реализация многих функций
  • Steve Mudford - реализован параметр Offset
  • Martin Baur (www.mindpower.com) -German translation, usefull suggestions
  • Yury Finkel - реализовал поддержку UniCode, нашел и исправил некоторые ошибки
  • Ralf Junker - Реализованы некоторые функции, много предложений по оптимизации
  • Симеон Лилов - болгарский перевод
  • Филип Джирсбк и Мэтью Винтер - помогли в реализации не жадного режима
  • Kit Eason много примеров для документации
  • Juergen Schroth - поиск ошибок и полезные советы
  • Martin Ledoux - французский перевод
  • Diego Calp, Аргентина - испанский перевод