Регулярные выражения в php
\s | пробельный символ: пробел, табуляция \t, перенос строки \n, возврат каретки \r |
\S | любой символ, кроме пробельного |
\w | любая буква или цифра или _ |
\W | не буква и не цифра и не _ |
\d | цифра (0-9) |
\D | не цифра |
Символьные классы [:classname:]
alpha | буква |
digit | цифра |
alnum | буква или цифра |
space | пробельный символ |
blank | пробельный символ или символ с кодом 0 или 255 |
cntrl | управляющий символ |
lower | символ в нижнем регистре |
upper | символ в верхнем регистре |
печатаемый символ | |
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 |