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

^ — Начало строки
$ — Конец строки
. — Любой символ кроме переводов строки (без параметра /…/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 платформ.

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

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

Отправить комментарий

Другие статьи рубрики "Шпаргалки"