П О Р Т А Л                            
С Е Т Е В Ы Х                          
П Р О Е К Т О В                        
  
                                                 
Главная

О проекте

Web-мастеру
     HTML & JavaScript
     SSI
     Perl
     PHP
     XML & XSLT
     Unix Shell

MySQL

Безопасность

Хостинг

Другое







Самое читаемое:

Учебник PHP - "Для Чайника".
Просмотров 91805 раз(а).

Иллюстрированный самоучитель по созданию сайтов.
Просмотров 28160 раз(а).

Учебник HTML.
Просмотров 54676 раз(а).

Руководство по PHP5.
Просмотров 25068 раз(а).

Хостинг через призму DNS.
Просмотров 29341 раз(а).

Подборка текстов стандартных документов.
Просмотров 28110 раз(а).

Учебник PHP - Самоучитель
Просмотров 32388 раз(а).

Документация на MySQL (учебник & справочное руководство)
Просмотров 34101 раз(а).

Внешние атаки...
Просмотров 26101 раз(а).

Учебник PHP.
Просмотров 22004 раз(а).

SSI в примерах.
Просмотров 17304 раз(а).



 
 



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

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

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

Алгоритм поиска с использованием регулярных выражений был впервые разработан одним из создателей UNIX Кеном Томпсоном. Интересно, что изначально регулярные выражения появились не в теории вычислительных систем, а в нейрофизиологии. Основу теории регулярных выражений заложили нейрофизиологи У. Мак-Каллох и У. Питтс, работавшие над способами математического описания нервных процессов. Позднее математик С. Клини, основываясь на этих исследованиях, опубликовал работу "Представление событий в нейронных сетях", в которой и было введено понятие регулярных выражений. Кен Томпсон, основываясь на этих работах, адаптировал теорию регулярных выражений для алгоритмов поиска информации. Именно начиная с его работ, регулярные выражения стали использоваться в текстовых редакторах и вошли во многие языки программирования.

Базовый синтаксис и создание регулярных выражений


Простейшее регулярное выражение можно записать так:

"abc"

Это выражение соответствует любой строке, которая содержит подстроку "abc".

Существует такое понятие, как выражение в квадратных скобках. Квадратные скобки ограничивают поиск теми символами, которые в них заключены:

"[abc]"

Этому регулярному выражению соответствует любая строка, содержащая abc либо вместе, либо каждый из них в отдельности. Выражение в квадратных скобках иногда еще называют бра-кет выражением.

Допустим, нам нужно создать регулярное выражение, соответствующее всем буквам русского алфавита. В этом случае мы можем, конечно, перечислить все эти буквы в регулярном выражении. Это допустимо, но утомительно и неэлегантно. Более коротко такое регулярное выражение можно записать следующим образом:

"[а-Я]"

Это выражение соответствует всем буквам русского алфавита, поскольку любые два символа, разделяемые дефисом, задают соответствие диапазону символов, находящихся между ними. Заметьте, что регулярное выражение "[а-Я]" описывает символы как нижнего, так и верхнего регистров, поэтому более подробно это выражение можно записать так:

"[а-яА-Я]"

Точно таким же образом задаются регулярные выражения, соответствующие числам:

"[0-9]"
  или
"[0123456789]"

Оба этих выражения эквивалентны и соответствует любой цифре.

Назад | Содержание | Вперед



 





Copyright © 2005-2011 Project.Net.Ru