English | Русский | Deutsch | Български | Français | Español |
Въведение
Библиотеката TRegExpr реализира регулярни изрази.
Регулярните изрази са лесни за използване и мощен инструмент за сложно търсене и замяна, както и за проверка на текст по шаблон.
Те са особено полезни за валидиране на потребителски вход във формуляри - за валидиране на електронни адреси и т.н.
Също така можете да извлечете телефонни номера, пощенски кодове и др. от уеб страници или документи, да търсите сложни модели в лог файлове и всичко, което можете да си представите. Правилата (шаблоните) могат да бъдат променяни без да е необходимо да прекомпилирате вашата програма.
TRegExpr е реализирана изцяло на Pascal. Включена е в Lazarus (Free Pascal): пакет. Но съществува и като отделна библиотека и може да бъде компилирана с Delphi 2-7, Borland C++ Builder 3-6.
Как библиотеката беше посрещната.
Бърз старт
За да използвате библиотеката, просто добавете изходния код към вашия проект и използвайте класа TRegExpr.
В често задаваните въпроси (FAQ) можете да научите за проблемите на други потребители.
Готовата за използване Windows приложение REStudio ще ви помогне да научите и отстраните грешки в регулярните изрази.
Ако видите някакви проблеми, моля създайте бъг.
Преводи
Документацията е преведена на английски и руски.
Има незавършени преводи на няколко други езика. Ако искате да помогнете да ги довършите, свържете се с мен.
Благодарности
Много функции бяха предложени и много грешки бяха открити (и дори поправени) от допринасящите към TRegExpr.
Не мога да ги изброя всички тук, но оценявам всички съобщения за грешки, предложения за функции и въпроси, които получавам от вас.
- Алексей Торгашин - основен сътрудник от 2019 г., например
- именувани групи, групи без захващане, твърдения, обратно търсене и много други
- Гуидо Мюлвиц - откри и поправи грозен бъг при обработката на големи низове
- Стефан Климек - тестване в C++Builder и предлагане/имплементиране на много функции
- Стив Мъдфорд - имплементирал параметъра Offset
- Мартин Баур (www.mindpower.com) - германски превод, полезни предложения
- Юрий Финкел - имплементирал поддръжка на Unicode, открил и поправил някои грешки
- Ралф Юнкер - имплементирал някои функции, много предложения за оптимизация
- Симеон Лилов - български превод
- Филип Йирсак и Матю Уинтър - помощ при имплементирането на неалчния режим
- Кит Ийсън - много примери за секцията за помощ при въведението
- Юрген Шрьот - лов на бъгове и полезни предложения
- Мартин Леду - френски превод
- Диего Калп, Аржентина - испански превод