Регулярные выражения в языке PHP
При решении Web-задач, часто сталкиваешься с ситуацией, когда нужно проверить корректность вводимой пользователем информации. Реализовать данную проверку с помощью обычных строковых функций, разобранных в главе 9, довольно сложно, так как они специально не предназначены для этого. Самый эффективный способ решения подобных задач - это регулярные выражения.
На первый взгляд регулярные выражения покажутся вам сродни китайскому языку, так как они изобилуют непонятными сочетаниями символов и зраков препинания. Тем не менее даже самые малые знания в этой области помогут вам быстро решить многие трудные задачи.
Регулярное выражение - это строка. Данное определение менее пугает, чем механизм, позволяющий указать шаблон для строки и осуществить поиск данных, соответствующих этому шаблону в заданном тексте. Регулярное выражение действительно задает шаблон в виде строки. Делается это с помощью специальных символов, о которых пойдет речь в этой главе.
РНР позволяет работать с двумя типами регулярных выражений: POSIX и PCRE, каждый из которых обладает собственным синтаксисом. Регулярные выражения типа PCRE с небольшими изменениями перешли из языка Perl, они считаются более мощными и выполняются гораздо быстрее, чем регулярные выражения типа POSIX. В этой главе мы познакомимся с регулярными выражениями типа POSIX.
Шаблоны
Прежде чем приступать к непосредственному изучению синтаксиса регулярных выражений, нужно уяснить принцип соответствия строки шаблону. На самом деле шаблоны встречаются не только в программировании. Например, зайдите в папку, куда мы устанавливали программное обеспечение, описанное в главе 2, и нажмите клавишу F3. Появится окно поиска файлов и папок. Наберите в строке ввода слово php и нажмите Enter. В результате выведется большой список файлов и папок, где встречается это слово. Бы только что написали шаблон.
Рассмотрим более сложный пример с использованием подстановочных символов. Наберите в строке поиска файлов и папок следующее: php?
В нашем случае выведется папка с названием РНР5. Символ ? означает, что название (включая расширение) искомых файлов и папок должно начинаться со слова php, за которыми следует любой символ.
Приблизительно по такому же принципу происходит работа с регулярными выражениями в РНР.
Другие на сайте, сейчас читают:
Скриншот 1. Скрипт Build QR Code Generator with PHP and Ajax