special

This webpage has been robot translated, sorry for typos if any. To view the original content of the page, simply replace the translation subdomain with www in the address bar or use this link.

Шпаргалка по регулярным выражениям PHP

По теме:


^ - Начало строки
$ - Конец строки

. - Любой символ кроме переводов строки (без параметра /.../s)
[ ... ] - Любой из перечисленного набора символов. Внутри квадратных скобок не работают другие операторы, но можно пользоваться метасимволами. С помощью дефиса можно указывать наборы символов: от первого до последнего. Например, [a-f] означает любую букву из числа a, b, c, d, e, f.
[^ ... ] - Ни один из перечисленного набора символов. Внутри квадратных скобок не работают другие операторы, но можно пользоваться метасимволами. С помощью дефиса можно указывать наборы символов: от первого до последнего. Например, [^0-9] означает любой символы, кроме 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.
\# - Следующий за слэшем символ # (кроме a-z и 0-9). Например, \\ означает символ \, \. означает символ . (точка), \$ означает символ $ и т. д.

\b - Начало слова
\B - Конец слова
[[:alnum:]] - буквенно-цифровые символы
[[:digit:]] - десятичные цифровые символы

[[:xdigit:]] - шестнадцатеричные цифровые символы
[[:alpha:]] - буквенные символы
[[:upper:]] - прописные буквенные символы
[[:lower:]] - строчные буквенные символы

[[:punct:]] - знаки пунктуации
[[:space:]] - символы пробела
[[:blanc:]] - символы табуляции и пробела
[[:print:]] - печатные символы

[[:cntrl:]] - управляющие символы
[[:graph:]] - печатные символы, за исключением пробельные
\xNN - NN - шестнадцатеричный код ASCII-символа (\x20 - пробел, \x4A - J, \x6A - j и т. д.)

\t - символ табуляции
\n - новая строка
\r - перевод каретки
- перевод формата

\v - вертикальная табуляция
\a - звонок
\e - escape
\033 - восьмеричная запись символа

\x1A - шестнадцатеричная
\c - control символ
\l - нижний регистр следующего символа
\u - верхний регистр -//-

\L - все символы в нижнем регистре до \E
\U - в верхнем -//-
\E - ограничитель смены регистра
\Q - отмена действия как метасимвола

\w - алфавитно-цифровой или '_' символ
\W - не -//-
\s - один пробел

\S - один не пробел
\d - одна цифр
\D - одна не цифра

\b - граница слова
\B - не граница слова
\A - начало строки для каждой строки в многострочной строке
\Z - конец строки для каждой строки в многострочной строке

\G - конец действия m//g

( ... ) - Сгруппировать символы в один паттерн и запомнить
| - Предыдущий или следующий паттерн (логическое "ИЛИ")

* - Ноль или больше раз
+ - Один или больше раз
? - 0 или 1 раз предыдущая маска
{n} - Повторять n раз

{n,} - Повторять n или больше раз
{n,m} - Повторять от n до m раз
?#N - Это оператор "просмотра назад". N - число символов для просмотра.

?~N - Отрицание просмотра назад.
?= - Просмотр вперед.
?! - Отрицание просмотра вперед.

i - не различать строчные и заглавные буквы.
m - считать строку многострочной.
s - однострочная строка.
x - расширенный синтаксис ( использование пробелов и комментариев)

e - после выполнения стандартных подстановок в заменяемой строке интерпретирует ее как PHP-код и использует результат для замены искомой строки.
A - соответствие шаблону будет достигаться только в том случае, если он соответствует началу строки, в которой производится поиск.
D - метасимвол $ в шаблоне соответствует только окончанию обрабатываемых данных. Без этого модификатора метасимвол $ соответствует также позиции перед последним символом, в случае, если им является перевод строки (но не распространяется на любые другие переводы строк). Данный модификатор игнорируется, если используется модификатор m. В языке Perl аналогичный модификатор отсутствует.
S - если данный модификатор используется, проводится дополнительный анализ шаблона. В настоящем это имеет смысл только для фиксированных шаблонов, не содержащих переменных ссылок.

U - модификатор инвертирует жадность квантификаторов, таким образом они по умолчанию не жадные. Но становятся жадными, если за ними следует символ '?'. Такая возможность не совместима с Perl. Модификатор U также может использоваться внутри шаблона, при помощи '?U' записи.
X - включает дополнительную функциональность PCRE, которая не совместима с Perl: любой обратный слеш в шаблоне, за которым следует символ, не имеющий специального значения, приводят к ошибке. Это обусловлено тем, что подобные комбинации зарезервированы для дальнейшего развития. По умолчанию же, как и в Perl, слеш со следующим за ним символом без специального значения трактуется как as опечатка. На сегодняшний день это все возможности, которые управляются данным модификатором
u - включает дополнительную функциональность PCRE, которая не совместима с Perl: шаблоны обрабатываются как UTF8 строки. Модификатор u доступен в PHP 4.1.0 и выше для Unix-платформ, и в PHP 4.2.3 и выше для Windows платформ.

(?#комментарий) - комментарий в теле шаблона.
(?:шаблон) - группировка как и '( )', но без обратнойnссылки
(?=шаблон) - "заглядывание" вперед. Например /\w+(?=\t)/ соответствует слову, за которым идет табуляция, но символ '\t' не включается в результат.

\ЧИСЛО - Ссылка внутри регэкспа на его же разобранную скобку, где ЧИСЛО - номер нужной группы (скобки). Этот оператор работает с некоторыми ограничениями на тип ссылаемого блока - он работает, только если в ссылаемой скобке нет операторов повторения.


Created/Updated: 25.05.2018

';>