Delphi регулярные выражения Обучающий материал

Регулярные выражения – очень важный инструмент, которым часто пользуются заядлые программисты или специалисты, выполняющие администрирование linux. С их помощью можно за короткий промежуток времени проверить на соответствие введенные пользователями данные, отыскать определенный фрагмент в тексте или пропарсить html страницу.

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

Регулярные выражения Delphi


Итак, в Delphi они состоят из определенных частей:

1. Символы
2. Классы символов
3. Модификаторы
4. Фиксирующие директивы
5. Группировки
6. Квантификаторы
7. Альтернативы

Для того, чтобы представить метасимвол в качестве простого символа, следует перед ним поставить косую черту \. Помимо этого, символ может быть защищен, для этого используется две косые черты //.

Например:

\t // табуляция
\n // новая строка

Символьные классы представляют собой конечную совокупность простых символов. Для их ограничения используются квадратные скобки, внутри которых содержатся перечисленные символы.

Например: [abcd] — обыкновенное перечисление символов.

Что касается фиксирующих директив – то они включают в себя символы, привязанные к определенному признаку.

Например: Для обозначения начала строки используют ^, а для окончания строки — $.

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

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

Изучая регулярные выражения Delphi, следует отметить, что в Delphi нет специальной компоненты (модуля), который бы позволил с ними работать. По мнению многих специалистов, это непростительное упущение компании-разработчика.

Перед тем, как потренироваться работать с регулярными выражениями на практике, следует скачать архив с необходимым модулем. После этого RegExpr, именно так называется эта компонента, подключается к проекту. Появляется возможность создавать новые объекты типа TRegExpr.

Если разобраться со всеми тонкостями и нюансами, то можно прийти к выводу, что применять регулярные выражения Delphi достаточно просто.

Пример. Задана строка. Нужно отыскать в ней все целые числа.

Для того, чтобы справиться с данной задачей, следует составить регулярное выражение, которое будет иметь вид:

-?\d+

Иначе говоря, данное выражение состоит из \d, обозначающего символьный класс, а также кантификатора +, который обозначает любое количество.

Основное преимущество регулярных выражений – это существенная экономия времени. Составить регулярное выражение намного проще, чем написать огромный алгоритм поиска, который будет соответствовать определенным условиям. Не стоит забывать про них, если возникает такая необходимость.

0 комментариев

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.