Теория
Синтаксис регулярного выражения такой: /шаблон/модификатор. Т.е. само регурярное выражения заключаются между //.
Для работы чаще всего используются следующие функции:
preg_match(regexp, строка для поиска) | Ищет строку по шаблону. Возвращает TRUE , если находит и FALSE если нет |
preg_replace(regexp, на что заменяем, строка для поиска) | Ищет строку по шаблону и заменяет ее другой строкой |
preg_split() | Разбивает строку по шаблону и возвращает массив из подстрок |
preg_quote(строка) | Добавляет обратный слэш перед каждым служебным символом |
Практика
Лучше один раз увидеть.
Регулярное выражение | Что означает |
/abc/ | Строка «abc» |
/^abc/ | Строка начинается на «abc» |
/abc$/ | Строка заканчивается на «abc» |
/[abc]/ | Или «a», или «b», или «c» |
/[a-z]/ | Любой символ латинского алфавита в нижнем регистре |
/[A-Z]/ | Любой символ латинского алфавита в верхнем регистре |
/[0-7]/ | Любое число от 0 до 7 |
/[0-9]/ | Любое число |
/[a-zA-Z]/ | Любой латинский символ в любом регистре |
/[a-zA-Z0-9]/ | Любой латинский символ или любое число |
/[^abc]/ | Не «a», не «b», не «c» |
/[^a-z]/ | Любой латинский символ не в нижнем регистре |
/[^A-Za-z0-9]/ | Любой не латинский символ и не число |
/abc|def/ | Строка «abc» или строка «def» |
/jpe*g/ | Строка «jpeg» или строка «jpg», или строка «jpeeeeeg» и т.д. Символ * после «e» говорит о том, что «e» может встречаться любое количество раз или не встречаться вообще. Другие возможные случаи указаны ниже на схеме в разделе «кванторы». |
/([A-Z]{2}|[0-9]{3})/ | Два латинских символа или три числа |
Схема в помощь: