PHP SQL
PHP SQL .ru
  Главная  Уроки  PHP  MySQL  jQuery  RegEx  CSS  Книги  Форум  
 Функции


  На главную

  Назад  Вперед

  Печать

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

Как уже было отмечено, регулярные выражения - это мощный инструмент для поиска и замены текста. Вам нужно найти и заменить слова, заключенные в HTML-теги? Или вам нужно найти все IP-адреса в строке? Вам нужно убедиться, что введенный пароль не состоит из одних лишь цифр (123456)? Тогда вам нужно использовать регулярные выражения, они превосходно справятся с этими задачами! Регулярные выражения очень мощны, но довольно трудны для чтения и восприятия. Например, следующее выражение выглядит шифром, если вы не читаете его посимвольно:

/^(1[- ]*)?(?d{3})?[.- ]*d{3}[.- ]*d{4}$/
Данная строка поначалу выглядит мусором, но это регулярное выражение ищет телефонные номера в строке. На самом деле в этой строке нет ничего феноменального, вам нужно только научиться их читать. Итак, изучим ос-новы регулярных выражений.

Основы регулярных выражений

В РНР можно использовать два типа регулярных выражений: расширенные POSIX и Perl-совместимые. Имена функций, работающих с POSIX-выражениями, начинаются на ereg, а имена Perl-совместимых функций - preg. Между этими форматами есть небольшие различие в синтаксисе и иногда очень большое различие в производительности. Наиболее популярным является Perl-совместимый синтаксис, который и описан в этой книге.

Одна из особенностей Perl-совместимых регулярных выражений - это та, что вам нужно их заключать в специальные разделители.

Большинство разработчиков используют слеш (/), поскольку подобным образом вводятся регулярные выражения в редакторе vi.

Давайте посмотрим, есть ли слово fred в строке? Регулярное выражение будет простым - fred и все (без всяких специальных символов). Вот при-мер использования регулярного выражения:

if (preg_match(“/fred/”,   “I saw Alfred over there”))   {
print “I found fred!”;
}
Регулярное выражение - это строка между разделителями (слешами). Вы должны использовать одинарные кавычки вместо двойных, поскольку сим-волы строки, заключенные в одинарные кавычки, трактуются как есть, что немаловажно для регулярных выражений.

Примечание.
Вы можете использовать другой разделитель, вроде (|), если вам нужно использовать слеши в ваших регулярных выражениях, например в URL.

Разделители в Perl-совместимых выражениях делают их более комфортными, но в то же время они немного смущают новичков, но они позволяют использовать дополнительные функции, которые называются модификаторами. Один из наиболее часто используемых модификаторов - i, он делает регулярные выражения нечувствительными к регистру символов. Поэтому если вам нужно найти fre, Fred, FRED, fRED, вам можно использовать сле-дующее регулярное выражение: /fred/i.

 
Предыдущая   На главную   Следующая          

Ваш комментарий:

'

Реклама на сайте | Обмен ссылками | Ссылки | Контакты
Добавить статью | Добавить исходник
2010-2014 © phpsql.ru