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

# Результат '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'.

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

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

   



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

  • » Статьи и обзоры
  • » Учебники для вебмастера
  • » РОДЖЕР БЭКОН
  • » Электронная почта
  • » ЭМПЕДОКЛ И АНАКСАГОР
  • » Интуиция и научное познание
  • » Visual Basic 6.0: Иллюстрированны
  • » Русская деревня в изображении Сол
  • » Системы массажа
  • » ПОЗДНИЙ НЕОПЛАТОНИЗМ