Связь и интернет Архив Программирование
   
Сделать стартовойСделать закладку            
   ПОИСК  
   
Главная / Perl / Руководство Маслов /
8  Perl
8  PHP
8  JavaScript
8  HTML
8  DHTML
8  XML
8  CSS
8  C / C++
8  Pascal и Delphi
8  Турбо Ассемблер
8  MySQL
8  CASE-технологии
8  Алгоритмы
8  Python
8  Обратная связь
8  Гостевая книга
Новости о мире


Регулярные выражения - Программирование от RIN.RU
Регулярные выражения



Если внутри шаблона применяется группировка (круглые скобки), то номер подстроки группы обозначается как "\цифра". Заметьте, что за шаблоном в пределах выражения или блока эти группы обозначаются как "$цифра". Кроме этого существуют дополнительные переменные:


$+- обозначает последнее совпадение
$&- все совпадение
$`- все до совпадения
$"- все после совпадения



Пример:


$s = "Один 1 два 2 и три 3";
if ($s =~ /(\d+)\D+(\d+)/)
{
print "$1\n"; # Результат "1"
print "$2\n"; # "2"
print "$+\n"; # "2"
print "$&\n"; # "1 два 2"
print "$`\n"; # "Один "
print "$"\n"; # " и три 3"
}


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


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



Пример:


$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)- "внутренние" модификаторы. Удобно применять в шаблонах, где например нужно внутри шаблона указать модификатор.


<<<  НазадВперед  >>>
 1  2  3  4 


 8  Комментарии к статье  8 8  Обсудить в чате

8  В тему

От простого к сложному

Запуск Perl-программы

Синтаксис

Модули

Переменные

Встроенные переменные

Операторы и приоритеты

Встроенные функции

Форматы отчетов

Подпрограммы

Отладка Perl программ.

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

 
  
  
    Copyright ©  RIN 2003 - 2004      * Обратная связь
Стоимость звонка в Аляске здесь.