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

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

phpКлассы символов

\s пробельный символ: пробел, табуляция \t, перенос строки \n, возврат каретки \r
\S любой символ, кроме пробельного
\w любая буква или цифра или _
\W не буква и не цифра и не _
\d цифра (0-9)
\D не цифра

Символьные классы [:classname:]

alpha буква
digit  цифра
alnum  буква или цифра
space  пробельный символ
blank  пробельный символ или символ с кодом 0 или 255
cntrl  управляющий символ
lower  символ в нижнем регистре
upper  символ в верхнем регистре
 print   печатаемый символ
 punct  знак пунктуации
 xdigit  шестнадцатеричные цифры (цифры и буквы от A до F)

Другие символы

^ начало строки
$ конец строки
\b начало или конец слова, то есть любая позиция между \w\W)
\B любая позиция, кроме начала или конца слова
. любой символ, кроме перевода строки
* 0 или более вхождений
+ 1 или более вхождений
? 0 или 1 вхождение
X{n,m} Символ X может быть повторен от n до m раз
X{n} Символ X должен быть повторен ровно n раз
X{n,} Символ X может быть повторен n или более раз
^ внутри [] отрицание класса, допустим только в начале класса
| Оператор альтернативы

Модификаторы

/i Игнорирование регистра
/x Пропуск пробелов и комментариев
/m Многострочность
/s Однострочность
/e Выполнение php-программы при замене в preg_replace
/u Перевод регулярного выражения в режим многобайтной кодировки UTF-8

Примеры

^abc abc, abcdefg, abc123, …
abc$ abc, endsinabc, 123abc, …
a.c abc, aac, acc, adc, aec, …
bill|ted ted, bill
ab{2}c abbc
a[bB]c abc, aBc
(abc){2} abcabc
ab*c ac, abc, abbc, abbbc, …
ab+c abc, abbc, abbbc, …
ab?c ac, abc
a\sc a c