Демо-примеры

Уже скомпилированное приложение для Windows REStudio, в котором вы можете поиграть с разными вариантами регулярных выражений.

Ниже перечислены демо-проекты в исходных текстах, иллюстрирующие основные приемы использования TRegExpr.

Обратите внимание, что существуют локализованные варианты (с комментариями на разных языках). Если у Вас в каталоге Demos примеры с комментариями только на английском, то русскоязычные

Вы можете найти в составе полного русского дистрибутива TRegExpr или в архиве с русской документацией (при распаковке архива в каталог TRegExpr, русифицированные примеры записываются поверх английских, замещая их).

Demos\TRegExprRoutines

Самый простой способ использовать TRegExpr, пояснения см.в исходных текстах.

Demos\TRegExprClass

Более эффективный способ использовать TRegExpr, пояснения см.в исходных текстах.

Demos\Text2HTML

см. описание

 

Если Вы не знакомы с регулярными выражениями, изучите раздел Синтаксис. Кроме того, для понимания примеров нужно просмотреть описание интерфейса TRegExpr.

 

Не забудьте также прочитать мои статьи на Delphi3000.com (только на английском) и Королевстве Delphi, и проголосовать там за эти статьи ;).

 

Примечание

Обратите внимание, что если Вы используете Delphi версии 3 и ниже, то при открытии этого проекта Вы получите серию предупреждений о несуществующих свойствах. Это не нарушит работу программы (речь идет о расширениях, появившихся в Delphi 4 и позволяющих более интеллектуально изменять размеры и положение компонентов при изменении размеров содержащей их формы).

Text2Http

Простейшая утилита для конвертации текста в HTML-код.

Использует модуль HyperLinksDecorator

 

Написана исключительно как пример использования TRegExpr.

 

Модуль оформления гипер-ссылок

DecorateURLs   DecorateEMails

Содержит функции для поиска URL в обычном тексте и оформления их как HTML-ссылки (используется в программе преобразования текста, в  HTML-код, Text2Html).

 

Например, подстрока ‘www.RegExpStudio.com’ будет заменена на ‘www.RegExpStudio.com’, а подстрока ‘[email protected]’ заменится на ‘[email protected]’.

 

function DecorateURLs

 

Оформляет ссылки найденные как по сигнатуре ‘http://…’ или ‘ftp://..’ так и ссылки в которых протокол не указан, но они начинаются с ‘www.’ Прим. если нужно также оформить как ссылки e-mail адреса, воспользуйтесь функцией DecorateEMails.

 

function DecorateURLs (const AText : string; AFlags : TDecorateURLsFlagSet = [durlAddr, durlPath]) : string;

 

Описание

 

Возвращает текст AText с оформленными гипер-ссылками.

 

AFlags определяет, какая часть гипер-ссылки будет помещена в видимую часть. Например, если указать [durlAddr] то гипер-ссылка ‘www.RegExpStudio.com/contacts.htm’ будет оформлена как ‘www.RegExpStudio.com’.

 

type

TDecorateURLsFlags = (durlProto, durlAddr, durlPort, durlPath, durlBMark, durlParam);

TDecorateURLsFlagSet = set of TDecorateURLsFlags;

 

Описание

 

Возможные значения:

 

Значение        Описание


durlProto        Протокол (‘ftp://’ или ‘http://’)

durlAddr        TCP адрес или доменное имя сервера (например, ‘anso.da.ru’)

durlPort                Номер порта, если указан  (например, ‘:8080’)

durlPath        Путь к файлу (например, ‘index.htm’)

durlBMark        Закладка (например, ‘#mark’)

durlParam        URL-параметры (например, ‘?ID=2&User=13’)

 

 

 

 

function DecorateEMails

 

Заменяет все обнаруженные адреса e-mails на гипер-ссылки вида ‘ADDR’. Например, адрес ‘[email protected]’ будет заменен на ‘[email protected]’.

 

 

function DecorateEMails (const AText : string) : string;

 

Описание

 

Возвращает текст AText с оформленными как гипер-ссылки адресами e-mails