Глава 8 учебника по PHP Строки и регулярные выражения

  • http://www.php.net/manual/pcre.pattern.modifiers.php;
  • http://www.php.net/manual/pcre.pattern.syntax.php;
  • http://www.perlcom/pub/doc/manual/html/pod/perlre.html;
  • http://www.codebits.com/p5be;
  • http://www.metronet.com/1/perlinfo/doc/FMTEYEWTK/regexps.html.

Функции РНР для работы с регулярными выражениями (Perl-совместимые)

В РНР существует пять функций поиска по шаблону с использованием Perl-совместимых регулярных выражений:

  • preg_match( );
  • preg_match_all( );
  • preg_replace( );
  • preg_split( );
  • preg_grep( ).

Эти функции подробно описаны в следующих разделах.

preg_match( )

Функция pregjnatch( ) ищет в заданной строке совпадение для шаблона. Если совпадение найдено, возвращается TRUE, в противном случае возвращается FALSE. Синтаксис функции pregjnatch( ):

int pregjnatch (string шаблон, string строка [, array совпадения})

При передаче необязательного параметра совпадения массив заполняется совпадениями различных подвыражений, входящих в основное регулярное выражение. В следующем примере функция preg_match( ) используется для проведения поиска без учета регистра:

$linе = "Vi is the greatest word processor ever created!";

// Выполнить поиск слова "Vi" без учета регистра символов:

if (preg_match("/\bVi\b\i", $line, $matcn)) :

print "Match found!";

endif;

// Команда if в этом примере возвращает TRUE

preg_match_all( )

Функция preg_match_all( ) находит все совпадения шаблона в заданной строке.

Синтаксис функции preg_match_all( ):

Int preg_match_all (string шаблон, string строка, array совпадения [, int порядок])

Порядок сохранения в массиве совпадения текста, совпавшего с подвыражениями, определяется необязательным параметром порядок. Этот параметр может принимать два значения:

  • PREG_PATTERN_ORDER — используется по умолчанию, если параметр порядок не указан. Порядок, определяемый значением PREG_PATTERN_ORDER, на первый взгляд выглядит не совсем логично: первый элемент (с индексом 0) содержит массив совпадений для всего регулярного выражения, второй элемент (с индексом 1) содержит массив всех совпадений для первого подвыражения в круглых скобках и т. д.;
  • PREG_SET_ORDER — порядок сортировки массива несколько отличается от принятого по умолчанию. Первый элемент (с индексом 0) содержит массив с текстом, совпавшим со всеми подвыражениями в круглых скобках для первого найденного совпадения. Второй элемент (с индексом 1) содержит аналогичный массив для второго найденного совпадения и т. д.
  • Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 все