Аргерих Л. О языке РНР. Часть 2. Страница 23


♦ Проверить, соответствует ли вся строка целиком заданному шаблону

♦ Найти в строке подстроку, удовлетворяющую заданному шаблону

♦ Извлечь из строки подстроки, соответствующие заданному шаблону

Более подробную информацию можно получить в книге Джефри Фридла (Jeffry Friedl) «Mastering Regular Expressions», O'Reilly.1

Базовый синтаксис

Следующее регулярное выражение соответствует любой строке, содержа­щей подстроку «xyz»:

"xyz"

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

"abc|xyz"

Любая строка, содержащая abc или xyz, будет считаться соответствующей приведенному выше регулярному выражению. Ветвь состоит из одной или нескольких частей (pieces).

Вот пример выражения в квадратных скобках (bracket expression): "[xyz]"

Квадратные скобки ограничивают поиск теми символами, которые в них за­ключены. Поэтому данное регулярное выражение будет соответствовать лю­бой строке, содержащей какой-либо из символов у или z или все эти симво­лы. Соответствие фиксируется, если совпадает хотя бы один символ.

Следующее регулярное выражение соответствует только цифрам: "[0123456789]"

Такая запись допустима, но утомительна. Вот более короткий способ запи­сать то же самое:

"[0-9]"

Это выражение тоже соответствует любой цифре. Любые два символа, разде­ленные дефисом (-), задают соответствие целому диапазону символов, нахо­дящихся между ними. Также как "[0-9] соответствует любой цифре, выра­жение " [ a-Z]" соответствует любому символу от а на нижнем регистре до Хна верхнем. Некоторые настаивают, что лучше записывать то же самое в виде "[a-zA-Z]". Если требуется включить в регулярное выражение дефис или пробел, то это можно сделать сразу после диапазона:

"[a-Z ■-]■'

Такое регулярное выражение должно успешно проверять правильность имен.

Для того чтобы исключить ряд символов (группу или последовательность) из поиска, в начале диапазона ставится символ ":

■Txyz]"

Регулярное выражение "[~xyz]" соответствует любому символу, кроме х, у или z. Поэтому строка axyz соответствует данному выражению. Обратите внимание, что символ " находится внутри скобок, а не снаружи; в последнем случае смысл его был бы совсем иным, что будет показано ниже.




Чтобы создать сайт, сегодня не нужно даже обращаться к программистам. И поможет в этом простая и надежная джумла. Это, пожалуй, лучший способ начать свой бизнес в интернете.