Sajgak.ru

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта
Главная PHP Регулярные выражения PCRE в PHP. Шпаргалка c примерами

Регулярные выражения PCRE в PHP. Шпаргалка c примерами

Для работы с регулярными выражениями PCRE удобно:

  • Если вы пользуетесь Eclpse, то есть плагин RegEx Util
  • Моя шпаргалка для работы с регулярными выражениями:
символ описание пример строка и соответствие
обычные все символы , кроме специальных. Соответствуют сами себе а причал
от от кота
12 612-2123
специальные символы

[ ] \ ^ $ . | ? * + ( ) { }
Чтобы использовать как сиволы текста, нужно их предварить "\" \(812\) тел. (812)812-24-15
0\.5 320.5 3205
е\? Что? Где? Когда?
^ Начало строки ^ааа ааа
^ма март или май
$ Конец строки a$ ааа аа$
^бег$ бег
бегун
\b Граница слова а\b а он когда, завтра?
\bон вон он
\B Не граница слова \Bон вон он
\G Предыдущий успешный поиск \Ga aaa aaa (поиск остановился на 4-й позиции — там, где не нашлось a)
. любой символ кроме символа новой строки "\n" м.й мой май мама
Символьный класс - Набор символов в квадратных скобках [ ] в данном месте - один из перечисленных символов 2[19]5 215 265 21 295
он[?!] тон? Нет, не тон. Полутон!
Возможно указание диапазонов символов. [0-9] соответствует любой цифре. [А-Яа-я] - любая буква русского алфавита кроме "ё" и "Ё" 2[0-9]4 204 24 234
л[А-Яа-я]н луна лень лён слОн
л[А-Яа-яёЁ]н луна лень лён слОн
[^] -символ, который не входит в набор [^0-9] 212 или 213 конфет
\d Соответствует цифре. Эквивалентно [0-9] img\d img5 img74 img
\D Соответствует нецифровому символу. Эквивалентно [^0-9]
\s Соответствует любому пробельному символу. Эквивалентно [ \f\n\r\t\v]
\S Соответствует любому непробельному символу. Эквивалентно [^ \f\n\r\t\v]
\w Соответствует любому буквенному символу, цифровому и знаку подчеркивания. Эквивалентно [[:word:]]
\W Соответствует любому символу, кроме буквенного символа, цифрового или подчеркивания. Эквивалентно [^[:word:]]
Квантификация (сколько раз предшествующее выражение может встречаться.)
{n} ровно n раз [0-9]{3} 316 29 15 1
{m,n} от m до n раз [0-9]{2,3} 316 29 15 1 
{m,} не менее m раз cто{2,}й стой, стоой, стооой
{0,n} не более n раз сто{0,3}й стой, стоой, стооой
* ноль или более раз. Эквивалентно {0,} сто* ст сто стоо
+ Один или более раз. Эквивалентно {1,} сто+ ст сто стоо
? Ноль или одно. Эквивалентно {0,1} сто? ст сто стоо
cт?л стол стул ст5л стл
Жадная и ленивая квантификация
Жадная квантификация Максимально длинная строка из возможных
 

 


 

 

 

\(.+\) (812)234, (812)235
cт.{3,}й стооооой. Что это за лай
Ленивая квантификация Минимально длинная строка из возможных
<.*?>

 


 

 

 

\(.+?\) (812)234,(812)235
ст.{3,}?й стооооой. Что это за лай
Сверхжадная см. в интернете .*+
Группировка
() для групировки. Шаблон внутри как единое целое. может быть квантифицирован ([a-z][0-9]-)* a7-b9-c26-e5-d13
(ab){3} abcabababcdab

для получения значения сегодня ([0-9]+) сегодня 18 января. $1 - верёт '18'
группировка без обратной связи
(?:)
отмена получения значения. сегодня (?:[0-9]+) $1 ничего не вернёт
()  \1 … \9 обозначения от \1 до \9 для проверки на совпадение с ранее найденной подстрокой ([0-9])\1 88, 96, 99, 25, 11
([а-я])[а-я]*\1 сос, нос, кок, тот
(..|..) или первая часть или вторая (\+7|8)-[0-9-]* 8-812-243-12-63, +7-376-9052412
(он|ты|я) я, ты, он, она - вместе дружная семья
атомарная групировка (?>шаблон) запрещает проверку любых других вариантов внутри группы, когда один вариант уже найден. + отмена получения значения a(?>bc|b|x)cc abccaxcc
но не abccaxcc: вариант x найден, остальные проигнорированы. $1 тоже ничего не вернёт
(?i) (?s) (?m) (?g) (?x) (?r) Включает соответствующий модификатор
(?i)onE onE, one, OnE
(?-i) (?-s) (?-m) (?-g) (?-x) (?-r) Выключает модификатор (?-i)onE onE, oNe, one, OnE
(?i-sm) Включает и выключает несколько модификаторов
(?i-s:шаблон) Включает/Выключает модификаторы только в пределах группы (?i)o(?-i:n)E onE, oNe, one, OnE, oNE
(?#комментарий) группа  не проверяется на вхождение в текст. [0-9](?#одна цифра)d5 5d5, d6, 67d5
Обновлено 30.10.2012 18:11  

Добавить комментарий


Защитный код
Обновить

Статьи и заметки о создании сайтов

Другие статьи и заметки

Разработка сайтов

Я окончил математико-механический факультет. Более 10 лет занимаюсь веб-программированием. На данный момент, в основном, пользуюсь CMS Wordpress и 1С-Битрикс. По поводу создания или доработок сайтов на этих и других CMS пишите мне:

Подробнее обо мне и о реализованных проектах

Рекомендую

Рекомендую всем хостинг 1gb.ru. Работает хорошо. Особенно радует техподдержка. Как-то раз они даже в мой PHP-код залезли и помогли решить проблему.

Кроме того, рекомендую всем хостинг Timeweb. Не очень мне нравится техподдержка (по сравнению с 1gb). А так же не рекомендую VDS на FreeBSD. Но, в остальном, всё работает замечательно. Замечательно подходит для больших проектов, особенно на Битриксе.