Регулярные выражения
Сравнение объектов с использованием компьютера независимо от того, сложные это изображения или обычный текст – задание не из легких. Достаточно часто в составляемых программах возникает необходимость в проверке формата введенных пользователем данных или обнаружений одной последовательности знаков в другой. Чтобы выфполнить подобные задачи, следует использовать регулярные выражения.
Регулярные выражения (англ. Regular expressions) – это специальные образцы (шаблоны), описывающие послежлвательности знаков. Они позволяют методом сравнения обнаруживать заданные цепочки знаков в других последовательностях, а также верифицировать формат текстовых данных. Регулярные выражения являются одним из самых иентересных элементов языка Perl. Работа с текстом – это то, в чем Perl превосходит многие другие языки. И именно регулярные выражения обеспечивают значительную часть возможностей Perl по обработке текстов. Чтобы создать регулярное выражение на языке Perl, следует заключить требуемую последовательность символов между двумя знаками «/». Так создается образец, который можно будет в дальнейшем использовать в программе: /регулярное_выражение/ Чтобы проверить содержит ли данная цепочка искомую последовательность, нужно использовать оператор =~, состоящий из знака равенства и знака тильды. $последовательность_знаков =~ /регулярное выражение/; В этом примере результат зависит от значения, содержащегося в переменной $последовательность_знаков. Если она содержит заданные образец регульрное выражение, то результатом действия оператора будет логическое значение «истина». Если искомая цепочка отсутствует в проверяемой последовательности, результатом будет «ложь». Следует особо отметить, что Perl при выполнении сравнения различает строчные и прописные буквы, используемые в анализируемом тексте и образце. Однако можно убедить интерпретатор игнорировать такое различие. Для этого служит буква I, помещаемая после регулярного выражения. Результат поиска в следующем примере будет в обоих случаях одинаков. $последовательность_знаков=~/регулярное выражение/i; $последовательность_знаков=~/РеГуЛЯрное выРАЖение/i; Таким образом, создание простейших регулярных выражений в программах Perl является достаточно простой задачей. Однако, чтобы создавать более сложные образцы, необходимо дополнительно использовать специальные знаки. Для этого служат следующие символы: ^ $ * + - ? | [ ] ( ) { }. Кроме того, существуют также так называемые специальные последовательности, соответствующие часто используемым образцам. Это сокращает и тем самым облегчает создание длинных и сложных регулярных выражений.
{jcomments on} |