Советы по Delphi

       

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


Я не понимаю как работают REGULAR EXPRESSIONS (регулярные выражения) в Delphi-диалоге Replace dialog.

R e g u l a r E x p r e s s i o n s (Взято из файла помощи и переведено) Регулярные выражения являются специальными символами, употребляемые при поиске или переводе строки, позволяющие создавать шаблоны поиска вместо точного побуквенного ввода искомого текста.

Регулярные выражения подобны шаблонам DOS, но являются более мощным инструментом.

Регулярные выражения
Выражение Описание
?Любой символ кроме конца строки
* Ноль или более символов (за исключением символа конца строки)
\t Символ табулятора
\n Символ конца строки
\c Позиция курсора после сравнения
\\ Символ обратной косой черты
Символ Описание
< или %Начало строки
> или $ Конец строки
@ Ноль или более последних выражений
+ Один или более последних выражений
Или последнее или следующее выражение
{} Определение группы выражений
[ ] Любой из символов в [ ]
[~ ] Любой символ за исключением указанного в [~ ]
[a-z] Любой символ между a и z включительно

В тексте замены допускаются \t, \n, \c, а также:

\<n> замещающий текст сравнивается с <n>-ной группой (0 <= n <= 9)

Примеры
Выражение Результат
theПоиск следующего включения "the"
{him} {her} Поиск следующего включения "him" или "her"
<alone> или %alone$ Поиск следующего включения "alone" в данной строке
stuff*between Поиск следующего включения "stuff", сопровождающегося "between" на той же строке
th[eo]se Поиск следующего включения "these" или "those"
[A-Z][a-z]@; Поиск следующего слова, начинающегося с большой буквы и заканчивающегося точкой с запятой
[0-9]+Поиск одной или более последовательных цифр
[~ \t\n] Поиск любого символа за исключением пробела, символа табулятора или новой строки

Имейте в виду, что выражения, содержащие символы *, @, и + всегда являются сочетанием нескольких выражений, имеющих цель найти по возможности запрос, максимально близкий к искомому.

Скобки {} определяют группу в диалоге поиска, необходимую для поиска и(или) замены. Вы можете создать несколько групп и обращаться к ним по их номеру, закрепляемого за группой с помощью обратной косой черты и номером, стоящим за ней (счет начинается с 0, поиск ведется по группам слева направо).

Сложные примеры использования регулярных выражений при поиске и замене:

Поиск FString\[{*}\]

Замена Ord(FString[\0])

или

Поиск {FString\[*\]}

Замена Ord(\0)

[000259]



Содержание раздела