русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Подшаблоны


Дата добавления: 2015-07-09; просмотров: 422; Нарушение авторских прав


Далее рассмотрим понятие подшаблона. Подшаблон внутри шаблона размещается между парой круглых скобок. Подшаблоны могут быть вложенными. Основное использование подшаблонов – задание альтернативных вариантов для алгоритма сравнения. Альтернативные варианты разделяются символом |.

Примеры:

Шаблон Описание
/Иванов (Иван|Петр|Павел)/ Подстроки: Иванов Иван, Иванов Петр, Иванов Павел.
/(Mr\.|Dr\.)\s+[А-Я][А-Яа-я]+\s Найти подстроки, начинающиеся с Mr. или Dr. после чего идут пробелы, затем заглавная русская буква, затем русские буквы и пробел.

 

Если за подшаблоном идет символ повтора, то повтор распространяется на весь подшаблон.

Другое назначение подшаблонов – поиск подстрок, удовлетворяющих подшаблону. Функция preg_match_all умеет искать такие подстроки. Двумерный массив, в который помещены результаты поиска, в 0-элементе содержит подстроки, удовлетворяющие основному шаблону, в 1-ом - первому подшаблону, во 2-ом - второму подшаблону и т.д. Для того, чтобы подшаблон не включался в результирующий массив после круглой скобки, открывающей подшаблон, должны идти символы ?:.

 

Пример:

 

<?php
$pattern = "/Иванов (Иван|Петр|Павел)/";
$str1 = "Здравствуйте, Иванов Петр";
$cnt = preg_match_all($pattern, $str1, $result);
foreach( $result as $k => $val )
{
echo "Элемент: {$k} ";
foreach( $val as $s )
{
// выводим сначала "Иванов Петр" для элемента $result с ключом 0
// затем "Петр" для элемента $result с ключом 1
echo "$s";
}
}

$pattern = "/Иванов (?:Иван|Петр|Павел)/";
$cnt = preg_match_all($pattern, $str1, $result);
foreach( $result as $k => $val )
{
echo "Элемент: {$k} ";
foreach( $val as $s )
{
// выводим ТОЛЬКО "Иванов Петр" поскольку в подшаблоне указано "?:"
echo "$s";
}
}
?>

 



<== предыдущая лекция | следующая лекция ==>
Шаблоны, продолжение | Модификаторы


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.883 сек.