Rambler's Top100
Главная
Скачать (Download)
Dreamweaver CS4
Dreamweaver 8
Dreamweaver MX 2004
Dreamweaver 4
Уроки (Tutorials)
Видеоуроки new!!!

Fireworks
ЧаВо
Документация
Статьи
Программы и скрипты
Бесплатные шаблоны
Каталог сайтов
Форум
Карта сайта
Контакты

компания Uristconsult Вывоз строительного мусора Правила регистрации. Описание тканей. gruzaperevozka.kiev.uaМагазин автоаксессуаров Возможность заказа онлайн. Каталог товаров, цены. premiumaks.ruМистер дорс Справочник магазинов. Расписание транспорта. mr-oficial.ru

Документация - Главная
- Macromedia Dreamweaver
- CSS
- Раскрутка
- PHP
- SQL
- Дизайн [1 2]
- Java
- Разное

главная > статьи >

Синтаксис регулярных выражений (POSIX)

Структура регулярных выражений POSIX чем-то напоминает структуру типичных математических выражений - различные элементы(операторы) объединяются друг с другом и образуют более сложные выражения. Однако именно смысл объединения элементов делает регулярные выражения таким мощным и выразительным средством. Возможности не ограничиваются поиском литерального текста (например, конкретного слова или числа); вы можете провести поиск строк с разной сематикой, но похожим синтаксисом - например, всех тегов HTML в файле.

Простейшее регулярное выражение совпадает с одним литеральным словом - например, выражение g совпадает в таких строках, как g, haggle, bag. Выражение, полученное при объединении нескольких литеральных символов, совпадает по тем же правилам - например, последовательность gan совпадает в люьой строке, содержащей эти символы (например gan, organize).

Оператор | (вертикальная черта) проверяет совпадение одной из нескольких альтернатив. Например, регулярное выражение php|zend проверяет строку на наличие php или zend.

Квадратные скобки

Квадратные скобки ( [ ] ) имеют особый смысл в контроле регулярных выражений - они означают "любой символ из перечисленных в скобках". В отличие от регулярного выражения word, которое совпадает во всех строках содержащей литеральный текст word, выражение [word] совпадает в любой строке, содержащей символ w, o, r или d. Квадратные скобки играют важную роль при работе с регулярными выражениями, поскольку в процессе поиска часто возникает задача поиска символов из заданного интервала. Ниже перечислены некоторые часто используемые интервалы:

  • [0-9] - совпадает с любой десятичной цифрой от 0 до 9;
  • [a-z] - совпадает с любым символом нижнего регистра от a до z;
  • [A-Z] - совпадает с любым символом верхнего регистра от A до Z;
  • [a-Z] - совпадает с любым символом нижнего или верхнего регистра от a до Z;
  • Перечисленные интервалы всего демонстрируют общий принцип. Например, вы можете воспользоваться интервалом [0-3] для обозначения любого символа от 0 до 3 или интервалом [a-d] для обозначения любого символя нижнего регистра от a до d.

    Интервалы определяются произвольно.

    Квантификаторы

    Существует особый класс служебных символов, обозначающих количество повторений отдельного символа или конструкции, заключенной в квадратные скобки. эти служебные символы (+, * и {...} называются квантификаторами. Принцип их действия проще всего объяснить на примерах.

  • S+ означает один или несколько символов S, стоящих подряд;
  • S* означает ноль и более символов S, стоящих подряд;
  • S? означает ноль или один символ S;
  • S{2} означает два символа S, стоящих подряд;
  • S{2,3} означает от двух до трёх символов S, стоящих подряд;
  • S{2,} означает два и более символов S, стоящих подряд;
  • Прочие служебные символы

    Служебные символы $ и ^ совпадают не с символами, а с определённой позиции в строке. Например, выражение S$ означает строку, которая завершается символом S, а выражение ^S - строку, начинающуюся с символа S.

  • Конструкция [^a-zA-Z] совпадает с любым символом, не входящим в указанные интервалы (a-z и A-Z).
  • Служебный символ . (точка) означает любой символ. Например, выражение S.S совпадает с символом S, за которым следует произвольный символ, после чего опять следует S.
  • Объединение служебных символов приводит к появлению более сложных выражений. Рассмотрим несколько примеров:
  • ^.{2}$ - любая строка, содержащая два символа.
  • <b>(.*)</b> - произвольная последовательность символов, заключённых между lt;b> и lt;/b>.
  • p(hp*) - символ p, за которым следует ноль и более экземпляров последовательности hp (например, php).  

    Иногда требуется найти служебные символы в строках вместо того, чтобы использовать их в описанном специальном контексте. Для этого служебные символя экранируются обратной чертой (\). Например. Например, для поиска символя $ надо использовать выражение \$.

    Стандартные интервальные выражения (символьные классы)

    Для удобства программирования в стиле POSIX были определены некоторые стандартные интервальные выражения, также называемыми символьными классами(character classes). Символьный класс определяет один символ из заданного интервала - например, букву алфавита или цифру.
  • [[:alpha:]] - алфавитный символ (aA-zZ);
  • [[:digit:]] - цифра (0-9);
  • [[:alnum:]] - алфавитный символ (aA-zZ) или цифра (0-9).
  • [[:space:]] - пропуски (символы новой строки, табуляции и т.д.)

    Источник:
    www.php-mysql.h1.ru

    главная > статьи >

  • Простой конкурс с денежными призами!



    Rambler's Top100 Рейтинг@Mail.ru