Скачать презентацию Регулярные выражения Регулярные выражения — это выражения Скачать презентацию Регулярные выражения Регулярные выражения — это выражения

Регулярные выражения.ppt

  • Количество слайдов: 10

Регулярные выражения Регулярные выражения

Регулярные выражения - это выражения, написанные на специальном языке. Регулярные выражения - чрезвычайно мощный Регулярные выражения - это выражения, написанные на специальном языке. Регулярные выражения - чрезвычайно мощный инструмент работы со строками. С их помощью можно проводить анализ и изменение строк на основе заданного шаблона. Одна из очень мощных и полезных возможностей языка PHP - поддержка регулярных выражений.

Набор модификаторов  - Следующий символ является специальным. Так же применяется для указания символов, Набор модификаторов - Следующий символ является специальным. Так же применяется для указания символов, которые могут использоваться в качестве модификаторов. n - соответствует символу перевода строки * - символ "*", а * - модификатор ^ - Маркер начала строки. ^abc - строка, начинающаяся с "abc". $ - Маркер конца строки. abc$ - строка, заканчивающаяся на "abc". * - Предыдущий символ встречается 0 Шаблону w*соответствуют строки what, или больше раз. buka, agwt Шаблону w+соответствуют строки what, + - Предыдущий символ встречается 1 agwt. или больше раз. Строка buka уже не соответствует. ? - Предыдущий символ встречается 0 Шаблону w? rсоответствуют строки ara, или 1 раз. awra. . - Соответствует любому символу, отличному от "n".

Набор метасимволов () | ^ $ n r t xhh. d D s S Набор метасимволов () | ^ $ n r t xhh. d D s S w W Метасимволы для задания специальных символов Скобки. Определяют вложенные выражения. Метасимвол выбора Метасимвол начала строки Метасимвол конца строки Символ перевода строки (шестнадцатеричный код 0 x 0 A) Символ возврата каретки (шестнадцатеричный код 0 x 0 D) Символ табуляции (шестнадцатеричный код 0 x 09) Вставка символа с шестнадцатиричным кодом 0 xhh, например x 42 вставит латинскую букву 'B' Метасимволы для задания групп символов Точка. Любой символ. Цифра (0 -9) Не цифра (любой символ кроме символов 0 -9) Пустой символ (обычно пробел и символ табуляции) Непустой символ (все, кроме символов, определяемых метасимволом s) "Словарный" символ (символ, который используется в словах. Обычно все буквы, все цифры и знак подчеркивания ('_')) Все, кроме символов, определяемых метасимволом w

Набор метасимволов i m s U Включает режим case-insensitive, т. е. большие и маленькие Набор метасимволов i m s U Включает режим case-insensitive, т. е. большие и маленькие буквы в выражении не различаются. Указывает на то, что текст, по которому ведется поиск, должен рассматриваться как состоящий из нескольких строк. По умолчанию механизм регулярных выражений рассматривает текст как одну строку вне зависимости от того, чем она является на самом деле. Соответственно метасимволы '^' и '$' указывают на начало и конец всего текста. Если же этот модификатор указан, то они будут указывать соответственно на начало и конец каждой строки текста. По умолчанию метасимвол '. ' не включает в свое определение символ перевода строки. Т. е. для многострочного текста выражение /. +/ вернет только первую строку, а не весь текст, как ожидается. Указание этого модификатора снимает это ограничение. Делает все количественные метасимволы "не жадными" по умолчанию. В некоторых модификациях языка (в частности в PHP) вместо "U" используется символ "g", более соответствующий смыслу ("g" - сокращение от английского "greedy", "жадный").

Пример • dd - найдёт 1812 и 2009 • D - найдёт все буквы, Пример • dd - найдёт 1812 и 2009 • D - найдёт все буквы, пробелы и знаки препинания • s - найдёт все пробелы в тексте. • [0 -9] - означает любую цифру (то же, что d) • [0, 2, 4, 6, 8] - означает чётную цифру • [A-Za-z 0 -9] - обозначает любой символ латинского алфавита (в любом регистре) или цифру.

Пример email дата дробное число номер мобильного телефона Выделение текста между тегами [. -_A-Za-z Пример email дата дробное число номер мобильного телефона Выделение текста между тегами [. -_A-Za-z 0 -9]+? @[. -A-Za-z 0 -9]+? [. A-Za-z 09]{2, } ^d{1, 2}([-. /])d{1, 2}1d{2, 4}$ [d]{4}. [d]{2} (? : 8|+7)? ? (? (d{3}))? ? (d{3})[ -]? (d{2})[ ]? (d{2}) /(. *)/Uis

Пример if (ereg( Пример if (ereg(". +@. +. . +", $email)) { echo "Адрес, вроде, правильный"; } else { echo "Введите, батенька, адрес заново"; }

Синтаксис регулярных выражений Регулярное выражение Означает foo Строка “foo” ^foo Строка начинается с “foo” Синтаксис регулярных выражений Регулярное выражение Означает foo Строка “foo” ^foo Строка начинается с “foo” foo$ Строка заканчивается на “foo” ^foo$ «foo» встречается в строке только один раз [abc] a, b, или c [a-z] любой символ в нижнем регистре [^A-Z] любой символ, не находящийся в верхнем регистре (gif|jpg) Означает как «gif” так и “jpeg” [a-z]+ Один или более символов нижнего регистра [0 -9. -] Любая цифра, точка или знак минус ^[a-z. A-Z 0 -9_]{1, }$ Любое слово, хотя бы одна буква, число или _ ([wx])([yz]) wy, wz, xy, или xz (^A-Za-z 0 -9) Любой символ (не число и не буква) ([A-Z]{3}|[0 -9]{4}) Означает три буквы или 4 цифры

PHP-функции для регулярных выражений Функция Описание preg_match() Функция preg_match() ищет строку по заданному шаблону, PHP-функции для регулярных выражений Функция Описание preg_match() Функция preg_match() ищет строку по заданному шаблону, возвращает true, если строка находится и false, в остальных случаях preg_match_all() Функция preg_match_all() находит все вхождения строки, заданной по шаблону preg_replace() Функция preg_replace(), действует по тому же принципу, что и ereg_replace(), за исключением того, что регулярные выражения можно использовать как для задания шаблона поиска, так и для строки, на которую следует заменить, найденное значение. preg_split() Функция preg_split(), действует так же как split(), за исключением того, что регулярное выражение можно использовать в качестве параметра для шаблона поиска. preg_grep() Функция preg_grep() ищет все элементы входного массива, возвращая все элементы, соответствующие шаблону регулярного выражения. preg_quote() Экранирует символы регулярного выражения