English | Русский | Deutsch | Български | Френски | Español |
Въведение¶
Библиотеката TRegExpr реализира "регулярни изрази" <regular_expressions.html>`_.
Редовните изрази са лесни за използване и мощно средство за сложно търсене и подмяна, както и за проверка на текст въз основа на шаблони.
Това е особено полезно за валидиране на потребителски вход във формуляри за въвеждане - за валидиране на имейл адреси и т.н.
Също така можете да извличате телефонни номера, ZIP-кодове и т.н. от уеб-страници или документи, да търсите сложни модели в лог файловете и всичко, което можете да си представите. Правила (шаблони) могат да бъдат променяни без прекомпилация на програмата.
TRegExpr се реализира в чист Pascal. Той е включен в Lazarus (Free Pascal) проект. Но тя съществува и като отделна библиотека и може да бъде компилирана от Delphi 2-7, Borland C ++ Builder 3-6.
Отзиви¶
Бърз старт¶
За да използвате библиотеката, просто добавете източниците за да проектирате и използвате класа` TRegExpr <tregexpr.html>`_.
В Често задавани въпроси можете да научите от проблемите на другите потребители.
Готови ли сте да стартирате Windows приложението "REStudio" <https://github.com/andgineer/TRegExpr/releases/download/0.952b/restudio.zip>`__ ще ви помогне да научите и отстраните грешки на регулярни изрази.
Обратна връзка¶
Ако видите някакви проблеми, моля създайте бъг <https://github.com/andgineer/TRegExpr/issues>`_.
Програмен код¶
Чист обект Pascal.
документация¶
- Редовни изрази (RegEx)
- TRegExpr
- ЧЗВ
- Намерих ужасна грешка: TRegExpr повдига изключението за нарушение на достъп!
- Регулярните изрази с (? = …) не работят
- Поддържа ли Unicode?
- Защо TRegExpr връща повече от един ред?
- Защо TRegExpr се връща повече, отколкото очаквам?
- Как да анализираме източници като HTML с помощта на TRegExpr?
- Има ли начин да получите множество съвпадения на модел в TRegExpr?
- Проверявам въвеждането от потребителя. Защо TRegExpr връща "True" за погрешни низове?
- Защо понякога алчните итератори работят както в алчен режим?
- Как мога да използвам TRegExpr с Borland C ++ Builder?
- Защо много от тях (включително re от TRegExpr помощ и демо) работят погрешно в Borland C ++ Builder?
- Демонстрации
Преводи¶
Документацията е на английски и руски <https://regexpr.sorokin.engineer/ru/latest/>`_.
Има и стари преводи на немски, български, френски и испански. Ако искате да помогнете да актуализирате старите преводи, моля свържете се с мен <https://github.com/andgineer>`_.
New translations are based on GetText and can be edited with Weblate.
Те вече са преведени машинно и се нуждаят само от корекционно четене и може да са копиране от стари преводи.
благодарност¶
Предложени са много функции и много грешки, основани (и дори фиксирани) от участниците в TRegExpr.
Не мога да изброявам всички тях, но оценявам всички доклади за грешки, предложения и въпроси, които получавам от вас.
- Alexey Torgashin - added many features in 2019-2020, e.g. named groups, non-capturing groups, assertions, backward search
- Guido Muehlwitz - открил и фиксирал грозна грешка при обработката на големи низове
- Stephan Klimek - testing in C++Builder and suggesting/implementing many features
- Стив Мъдфорд - внедрен параметър Offset
- Мартин Баур ("www.mindpower.com." <http://www.mindpower.com>`__) - немски превод, полезни предложения
- Yury Finkel - implemented Unicode support, found and fixed some bugs
- Ralf Junker - implemented some features, many optimization suggestions
- Симеон Лилов - превод на български език
- Filip Jirsбk and Matthew Winter - help in implementation non-greedy mode
- Kit Eason - many examples for introduction help section
- Юрген Шрот - лов на бъгове и полезни предложения
- Мартин Леду - превод на френски
- Diego Calp, Аржентина - превод на испански