в
08:00
Шпаргалка: регулярные выражения в PHP
Каждый раз, когда работаю с регулярными выражениями в PHP, приходится перерывать кучу информации. Надоело — собрал и ещё буду собирать всё на этой странице. Ели нашли ошибку, можете дополнить или сказать понятней — пишите в комментариях.

Квантификаторы
| Аналог | Пример | Описание | |
|---|---|---|---|
| ? | {0,1} | a? | одно или ноль вхождений «а» |
| + | {1,} | a+ | одно или более вхождений «а» |
| * | {0,} | a* | ноль или более вхождений «а» |
Модификаторы
Символ «минус» (-) меред модификатором (за исключением U) создаёт его отрицание.
| Описание | |
|---|---|
| g | глобальный поиск (обрабатываются все совпадения с шаблоном поиска) |
| i | игнорировать регистр |
| m | многострочный поиск. Поясню: по умолчанию текст это одна строка, с модификатором есть отдельные строки, а значит ^ - начало строки в тексте, $ - конец строки в тексте. |
| s | текст воспринимается как одна строка, спец символ «точка» (.) будет вкючать и перевод строки |
| u | используется кодировка UTF-8 |
| U | инвертировать жадность |
| x | игнорировать все неэкранированные пробельные и перечисленные в классе символы |
Спецсимволы
| Аналог | Описание | |
|---|---|---|
| () | подмаска, вложенное выражение | |
| [] | групповой символ | |
| {a,b} | количество вхождений от «a» до «b» | |
| | | логическое «или», в случае с односимвольными альтернативами используйте [] | |
| \ | экранирование спец символа | |
| . | любой сивол, кроме перевода строки | |
| \d | [0-9] | десятичная цифра |
| \D | [^\d] | любой символ, кроме десятичной цифры |
| \f | конец (разрыв) страницы | |
| \n | перевод строки | |
| \pL | буква в кодировке UTF-8 при использовании модификатора u | |
| \r | возврат каретки | |
| \s | [ \t\v\r\n\f] | пробельный символ |
| \S | [^\s] | любой символ, кроме промельного |
| \t | табуляция | |
| \w | [0-9a-z_] | любая цифра, буква или знак подчеркивания |
| \W | [^\w] | любой символ, кроме цифры, буквы или знака подчеркивания |
| \v | вертикальная табуляция |
Спецсимволы внутри символьного класса
| Пример | Описание | |
|---|---|---|
| ^ | [^da] | отрицание, любой символ кроме «d» или «a» |
| - | [a-z] | интервал, любой симво от «a» до «z» |
Позиция внутри строки
| Пример | Соответствие | Описание | |
|---|---|---|---|
| ^ | ^a | aaa aaa | начало строки |
| $ | a$ | aaa aaa | конец строки |
| \A | \Aa | aaa aaa aaa aaa |
начало текста |
| \z | a\z | aaa aaa aaa aaa |
конец текста |
| \b | a\b \ba |
aaa aaa aaa aaa |
граница слова, утверждение: предыдущий символ словесный, а следующий - нет, либо наоборот |
| \B | \Ba\B | aaa aaa | отсутствие границы слова |
| \G | \Ga | aaa aaa | Предыдущий успешный поиск, поиск остановился на 4-й позиции — там, где не нашлось a |
Комментариев нет:
Отправить комментарий