Шпаргалка за регулярними виразами PHP

По темі:


^ - Початок рядка
$ - Кінець рядка

. - Будь-який символ крім переказів рядка (без параметра /.../s)
[...] - Будь-який з перерахованого набору символів. Усередині квадратних дужок не працюють інші оператори, але можна користуватися метасимвол. За допомогою дефіса можна вказувати набори символів: від першого до останнього. Наприклад, [af] означає будь-яку букву з числа a, b, c, d, e, f.
[^ ...] - Жоден з перерахованого набору символів. Усередині квадратних дужок не працюють інші оператори, але можна користуватися метасимвол. За допомогою дефіса можна вказувати набори символів: від першого до останнього. Наприклад, [^ 0-9] означає будь-який символи, крім 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.
\ # - Наступний за слешем символ # (крім az і 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' не включається в результат.

\ ЧИСЛО - Посилання всередині регекспа на його ж розібрану дужку, де ЧИСЛО - номер потрібної групи (дужки). Цей оператор працює з деякими обмеженнями на тип засиланого блоку - він працює, тільки якщо в посилається скобці немає операторів повторення.