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'.

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

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

   



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

  • » Влияние поведенческих факторов на
  • » Учебники для вебмастера
  • » Статьи и обзоры
  • » Искусство прогнозирования: как за
  • » Сборник рефератов по наукам о чел
  • » График ЕГЭ 2008 года
  • » Плюсы аренды квартиры в Алании че
  • » СХОЛАСТИКА
  • » Крикет в Фонбет
  • » Военное искусство древних греков
  • » Массаж

Полезные заметки

  •