Вход/Регистрация
Курс "Язык программирования PHP"
вернуться

Савельева Нина Владимировна

Шрифт:

]

Вычисляет символьный класс

Регулярное выражение /\d\d/m может быть сопоставлено следующим подстрокам: 11, 22, 33. Если в начале РВ стоит ^, то совпадения ищутся в начале строки, поэтому выражение /^\d\d/m найдет только 11.

Когда в конце РВ стоит знак доллара $, поиск производится в конце строки, поэтому выражение /\d\d$/m найдет только 33.

Шаблону же /^\d\d\d$/ будет удовлетворять строка, целиком состоящая из трехзначного числа (т.е. она и начинается и заканчивается этим числом).

–

<?

//считываем файл в строку

$str = file_get_contents('1.htm');

$pattern = "!^<[^/]+>!mU";

// осуществляем поиск

$n = preg_match_all ($pattern,

$str, $res);

// выводим результаты

for ($i=0;$i<$n;$i++)

echo htmlspecialchars($res[0][$i]).

"<br>";

?>

\

Переходный символ со множеством назначений

^

Объявляет начало объекта (или строки в многострочном режиме). То есть этот символ определяет, что искомый текст должен находиться в начале строки. Альтернатива: «\A»

$

Объявляет конец объекта (или строки в многострочном режиме). То есть этот символ определяет, что искомый текст должен находиться в конце строки. Альтернативы: «\Z», «\z»

.

Совпадает с любым символом, кроме символа перевода строки (по умолчанию)

[

Начинает определение символьного класса

]

Заканчивает определение символьного класса

|

Разделяет перечисление альтернативных вариантов

(

Начинает подшаблон регулярное (подвыражение)

)

Заканчивает подшаблон

?

Расширяет значение «(», квантификаторов 0 или 1, и квантификатор минимизации

*

0 или больше повторений (квантификатор)

+

1 или больше повторений (квантификатор)

{

Начинает минимальный/максимальный квантификатор

}

Заканчивает минимальный/максимальный квантификатор

Шаблон ограничен восклицательными знаками. Первая «^» значит, что мы ищем совпадения в начале строк, потом идет символ «<» – его и ищем в строке, после него должно идти все, что угодно, кроме обратного слэша (конструкция «[^\]» ), «+» говорит, что стоящий перед ним символ повторяется один и более раз и заканчивается все это символом «>». Таким образом, выделяются все теги в начале строк.

–

<?

//считываем файл в строку

$str = file_get_contents('1.htm');

$pattern = "!\s[А-Яа-я]+".

"\s([А-Я]\.\s*)([А-Я]\.\s*)$!m";

// шаблон ограничен восклицатель-

// ными знаками, m – модификатор,

// включающий многострочный режим

// первый \s означает, что перед

// фамилией должен идти пустой

// символ (например, пробел)

// [А-Яа-я] задает одну из букв

// алфавита в любом регистре,а в

// комбинации со знаком плюс

// определяет,что эта буква

// повторяется один и более

// раз следующий \s означает, что

// между фамилией и инициалами

// должен быть пробел

// Далее идет подвыражение,

// определяющее инициалы.

// Это буква от А до Я, после

// которой стоит точка ('\.')

// Экранируем точку, чтобы

// избавиться от ее специального

// значения. После буквы с точкой

// может идти или не идти пробел

// или несколько. Вся конструкция

// повторяется минимум два раза.

// Последний символ $ означает,

  • Читать дальше
  • 1
  • ...
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: