Большой архив статей, книг, документации по программированию, вебдизайну, компьютерной графике, сетям, операционным системам и многому другому
 
<Добавить в Избранное>    <Сделать стартовой>    <Реклама на сайте>    <Контакты>
  Главная Документация Программы Обои   Экспорт RSS E-Books
 
 

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


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

  •  

     
    Интересное в сети
     
    10 новых программ
    CodeLobster PHP Edition 3.7.2
    WinToFlash 0.7.0008
    Free Video to Flash Converter 4.7.24
    Total Commander v7.55
    aTunes 2.0.1
    Process Explorer v12.04
    Backup42 v3.0
    Predator 2.0.1
    FastStone Image Viewer 4.1
    Process Lasso 3.70.4
    FastStone Image Viewer 4.0
    Xion Audio Player 1.0.125
    Notepad GNU v.2.2.8.7.7
    K-Lite Codec Pack 5.3.0 Full


    Наши сервисы
    Рассылка новостей. Подпишитесь на рассылку сейчас и вы всегда будете в курсе последних событий в мире информационных технологий.
    Новостные информеры. Поставьте наши информеры к себе и у вас на сайте появится дополнительный постоянно обновляемый раздел.
    Добавление статей. Если вы являетесь автором статьи или обзора на тему ИТ присылайте материал нам, мы с удовольствием опубликуем его у себя на сайте.
    Реклама на сайте. Размещая рекламу у нас, вы получите новых посетителей, которые могут стать вашими клиентами.
     
    Это интересно
     

    Copyright © CompDoc.Ru
    При цитировании и перепечатке ссылка на www.compdoc.ru обязательна. Карта сайта.