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

Регуля́рные выраже́ния (англ. regular expressions, сокр. RegExp, RegEx, жарг. регэ́кспы или ре́гексы) — это формальный язык поиска и осуществления манипуляций с подстроками в тексте, основанный на использовании метасимволов (символов-джокеров, англ. wildcard characters). По сути это строка-образец (англ. pattern, по-русски её часто называют «шаблоном», «маской»), состоящая из символов и метасимволов и задающая правило поиска.

Итак, приступим:

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

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

Обменник валют

Другие публикации:



Написать комментарий через:

 
               
  • Локальный блог
  •  
 

Ваш отзыв

Имя *

Почта (скрыта) *

Сайт

Напишите цифрами двa вoceмь двa *

Сообщение

 
Статусы для соц.сетей на ArtKiev Design Studio