Ссылки
Поиск
Новости, Статьи |
Форум |
Файлы |
Привет, Гость
Обновления на форуме
Гадания на таро 0 >> |
Блок новостей в виде блога 1 >> |
Игры для сайта 34 >> |
Сервис создания тестов 94 >> |
Дед 1 >> |
Последние статьи
Сайт для фирмы-изготовителя натяжных потолков 0 |
Антиспам «Я не робот» 0 |
За что воюет Украина и когда всё это кончится 12 |
Удаление родителя текущего элемента на jQuery 0 |
Простой аккордеон на jQuery №3 0 |
Чтобы сайт планомерно развивался, бывает достаточно правильно назначить ответственного.
Разделы → Статьи → Разработка сайтов → Памятка по регулярным выражениям PHP
Введение Регулярные выражения пишутся или редактируются программистами нечасто, поэтому легко забываются. Памятка призвана восполнить этот пробел, но тем не менее не может служить полноценной заменой справочнику или Гуглу. Цель её — лишь напомнить то, что «знал, но забыл». 1. Функции preg_replace — поиск и замена по регулярному выражению preg_match — проверка на соответствие регулярному выражению preg_match_all — глобальный поиск шаблона в строке preg_quote — экранирует символы в регулярных выражениях preg_replace_callback — поиск по регулярному выражению и замена с использованием функции обратного вызова preg_grep — возвращает массив вхождений, которые соответствуют шаблону preg_split — разбивает строку по регулярному выражению 2.Ограничители # — любой не алфавитно-цифровой символ может служить ограничителем регулярного выражения. Чаще всего используется #, также некоторые используют ”/”,”|”,”%”,”$” пример: "/^[a-zA-Z0-9]+$/" Однако символы кроме # и % использовать не очень удобно — они могут встретиться внутри регулярки и придётся экранировать, что снижает читабельность. 3. Операторы ^ — в начале строки: искать в начале рег. выражения, внутри скобки: отрицание, например [^a-z] не в диапазоне от a до z $ — искать в конце рег. выражения ?: — внутри круглой скобки означает не запоминать выражение, пример: (?:\s|\.) — либо невидимый символ либо точка . — любой символ | — оператор или, например s(o|u)n совпадет как с son, так и с sun \ — экранирование спецсимволов 4. Классы [a] — одна буква, внутри квадратной скобки задаётся диапазон символов [ab] — либо a либо b [a-z] — один символ в диапазоне от a до z ([a-z]) — круглая скобка объединяет литералы в ещё одно выражение и запоминает его, переменная выводится с помощью \1, \0 означает всё найденное, \1 — первое и так далее до 99 5. Квантификаторы [a-z]{4} — четыре символа в диапазоне от a до z [a-z]{1,3} — от 1 до 3 символов в диапазоне от a до z [a-z]{3,} — 3 и более символов в диапазоне от a до z [a-z]{,5} — от 0 до 5 символов в диапазоне от a до z [a-z]? — либо 0 либо 1 символ в диапазоне от a до z [a-z]+ — хотя бы 1 символ в диапазоне от a до z 6. Метасимволы \s — невидимый символ (пробел, табуляция, перевод строки) \S — видимый символ (всё что не \s) \w - все символы, которые могут входить в слово, обычно это [a-zA-Z_], может зависеть от локали \W - всё что не может входить в слово \d - все цифры т.е. [0-9] \D - всё, что не является цифрой \n — Символ перевода строки (код 0x0A) \r — Символ возврата каретки (код 0x0D) \t — Символ табуляции (код 0x09) \xhh — Вставка символа с шестнадцатиричным кодом 0xhh, например \x41 вставит латинскую букву 'A' 7. Модификаторы i — включение режима case-insensitive, т.е. большие и маленькие буквы в выражении не различаются. m — указывает на то, что текст, по которому ведется поиск, должен рассматриваться как состоящий из нескольких строк. По умолчанию механизм регулярных выражений рассматривает текст как одну строку вне зависимости от того, чем она является на самом деле. Соответственно метасимволы '^' и '$' указывают на начало и конец всего текста. Если же этот модификатор указан, то они будут указывать соответственно на начало и конец каждой строки текста. s — по умолчанию метасимвол '.' не включает в свое определение символ перевода строки. Т.е. для многострочного текста выражение /.+/ вернет только первую строку, а не весь текст, как ожидается. Указание этого модификатора /.+/s снимает это ограничение. U — делает все количественные метасимволы "не жадными" по умолчанию ? — после количественного квантификатора отключает жадность 8. Претензии \b — на границе слова \B — не на границе слова \A — в начале строки \Z — в конце строки \z — в конце текста 9. Проверки (?<=) — позитивная ретроспективная проверка (?<!) — негативная ретроспективная проверка (?=) — позитивная опережающая проверка (?!) — негативная опережающая проверка |
||
20.11.2011 17:46 | Автор/источник: admin |
Комментировать
Вы не залогинены! Регистрация
Устал читать? Напиши! Или позвони +375 29 5344286. На связи по будним дням с 800 до 1700.