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, Аргентина - испанский перевод