Claw.ru: Все для вебмастера и оптимизатора. Всё для учебы, работы и отдыха. Продвижение сайта. Заработок с сайта. Партнерские программы. Учебники.
Claw.ru: Все для вебмастера и оптимизатора
Всё для учебы, работы и отдыха
» Продвижение сайта
» Заработок с сайта
» Партнерские программы

# Результат '1' print "$2\n";# '2' print "$+\n";# '2' print "$&\n";# '1 два 2' print "$`\n";# 'Один ' print "$'\n";# ' и три 3' }

Perl версии 5 содержит дополнительные конструкции шаблонов:

(?#комментарий)- комментарий в теле шаблона.
(?:шаблон)- группировка как и '( )', но без обратной ссылки
(?=шаблон)- "заглядывание" вперед. Например /\w+(?=\t)/ соответствует слову, за которым идет табуляция, но символ '\t' не включается в результат.

Пример:

$s = "1+2-3*4";
if ($s =~ /(\d)(?=-)/)  
          # Найти цифру за которой стоит '-'
    {
        print "$1\n";   # Результат '2'
   }
else { print "ошибка поиска\n";}
        (?!шаблон)         - "заглядывание" вперед 
		                              по отрицанию.

Пример:

$s = "1+2-3*4";
if ($s =~ /(\d)(?!\+)/) # Найти цифру за которой 
                            не стоит '+'
    {
        print "$1\n";   # Результат '2'
   }
else { print "ошибка поиска\n";}

(?ismx)

- "внутренние" модификаторы. Удобно применять в шаблонах, где например нужно внутри шаблона указать модификатор.

Правила регулярного выражения. (regex)

  1. Любой символ обозначает себя самого, если это не метасимвол. Если вам нужно отменить действие метасимвола, то поставьте перед ним '\'.
  2. Строка символов обозначает строку этих символов.
  3. Множество возможных символов (класс) заключается в квадратные скобки '[]', это значит, что в данном месте может стоять один из указанных в скобках символов. Если первый символ в скобках это '^' - значит ни один из указанных символов не может стоять в данном месте выражения. Внутри класса можно употреблять символ '-', обозначающий диапазон символов. Например, a-z - один из малых букв латинского алфавита, 0-9 - цифра и т.д.
  4. Все символы, включая специальные, можно обозначать с помощью '\' как в языке С.
  5. Альтернативные последовательности разделяются символом '|' Заметьте что внутри квадратных скобок это обычный символ.
  6. Внутри регулярного выражения можно указывать "подшаблоны" заключая их в круглые скобки и ссылаться на них как '\номер' Первая скобка обозначается как '\1'.

[Назад] [Содержание] [Вперед]

Поделитесь этой записью или добавьте в закладки

   



Полезные публикации

  • » Учебники для вебмастера
  • » Статьи и обзоры
  • » Архитектура .Net: Иллюстрированны
  • » Тема русской деревни в современно
  • » Экономика, политика, общество. Но
  • » Всё о Гарри Поттере
  • » Все ли вы знаете про единый госуд
  • » Сборник рефератов по архитектуре
  • » История Российской Государственно
  • » Хождение за три моря. Перевод Л.С