[ главная ]   [ рейтинг статей ]   [ справочник радиолюбителя ]   [ новости мира ИТ ]



Ответов: 0
25-02-12 07:01







   Web - программирование
PHP


ASP






XML



CSS

SSI





   Программирование под ОС











   Web - технологии








   Базы Данных









   Графика






Данные




Web - программирование / PHP /

Синтаксис регулярных выражений ( 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




  • Комментарии

     Ваш комментарий к данному материалу будет интересен нам и нашим читателям!



    Последние статьи: Web - программирование / PHP /

    GTK+: перспективы развития
    02-03-2010   

    Библиотека GTK+ прошла долгий путь развития и сейчас очень популярна. GNOME, одна из ведущих оконных сред, использует GTK+ почти исключительно, GIMP построен на GTK+, множество коммерческих разработчиков ПО, таких как Abobe, NVidia и VMware, решили использовать эту библиотеку в качестве графической основы для своих продуктов... подробнее

    Кол. просмотров: общее - 5084 сегодня - 0

    Новостной портал
    13-11-2009   

    Slashdot.org – популярный новостной портал с посещаемостью 50 млн. человек в месяц. Авторы проекта добились такого успеха, предоставляя пользователям свежие и интересные новости из мира IT... подробнее

    Кол. просмотров: общее - 5003 сегодня - 0

    Параллельное выполнение скриптов может нарушить целостность информации в файлах
    13-11-2009   

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

    Кол. просмотров: общее - 4771 сегодня - 0

    No spam.php
    10-11-2009   

    ...и снова о спаме. Кто о нем только не писал, и все писали, что это плохо и ай-яй-яй. Я не буду оригинальничать, и тоже скажу – это плохо. Это ай-яй-яй. Как бороться со спамерами со своей стороны... подробнее

    Кол. просмотров: общее - 4824 сегодня - 0

    Начинаем работу с рисунками в php для Windows
    10-11-2009   

    Эта статья даст вам общее представление о том, как создавать, обрабатывать и выводить рисунки в PHP4 для Windows... подробнее

    Кол. просмотров: общее - 4800 сегодня - 0



      WWW.COMPROG.RU - 2009-2012 | Designed and Powered by Zaipov Renat | Projects