ТОП PHP скрипт сегодня: QR

Вы Тут:

Главная ›› Книги ›› PHP 5.0 для чайников ›› Классы символов

Классы символов в языке PHP

При рассмотрении метасимвола точки мы говорили о любом символе, идущем в строке. Однако часто требуется выделить определенное множество значений для него. Например, после слова php должна следовать цифра от 3 до 5. В таких случаях применяют классы символов.

Чтобы создать класс символов, нужно записать в квадратные скобки все доступные значения или их диапазон. Пример:

[0-9] - символ является цифрой;
[a-z] - символ является строчной буквой английского алфавита;
[A-Z] - символ является заглавной буквой английского алфавита;
[a-zA-Z] - символ является любой буквой английского алфавита;
[abc] - символ является любой из букв a, b или с.

Рассмотрим несколько примеров:

php[3-5] - строка должна содержать php3, php4 или php5;
[0-9][a-z] - строка содержит сочетание цифры и символа;
^[0-5][0-9]$ - строка должна состоять из двух цифр (от 00 до 59).

Обратите внимание на последний пример. Символ ^ указывает на то, что строка должна начинаться с цифры из диапазона от 0 до 5, за которой следует еще одна любая цифра. При этом знак доллара $ указывает, что эта цифра должна завершать строку.

Ранее говорилось о том, что символ ^ указывает на начало строки. Помимо этого, его можно применять в классах символов, но он уже будет нести другую смысловую нагрузку.

Рассмотрим пример:

[^0-9] - строка должна содержать хотя бы один символ отличный от цифры;
^[^a-zA-Z] - строка должна начинаться с любого символа, кроме буквы английского алфавита;
[^aAeEiIoOuU] - строка не должна состоять целиком из гласных букв.

В регулярных выражениях типа POSIX для удобства были введены встроенные классы символов (табл. 17.1).

Таблица 17.1. Встроенные классы символов.

Обозначение Описание
[[:alnum:]] Любая буква английского алфавита или цифра
[[:alnum:]] Любая буква английского алфавита или цифра
[[:alpha:]] Любая буква ([a-zA-Z])
[[:blank:]] Пробельный символ или символ с кодом 0 и 255
[[:digit:]] Любая цифра ([0-9])
[[:lower:]] Любая строчная буква английского алфавита ([a—z])
[[:upper:]] Любая заглавная буква английского алфавита ([A-Z])
[[:upper:]] Любая заглавная буква английского алфавита ([A-Z])
[[:upper:]] Любая заглавная буква английского алфавита ([A-Z])
[[:punct:]] Любой знак пунктуации
[[:space:]] Любой пробельный символ
[[:xdigit:]] Любая шестнадцатеричная цифра ([0-9a-fA-F])

Другие на сайте, сейчас читают:

Сейчас читаютСкриншот 2. Скрипт Build QR Code Generator with PHP and Ajax