Презентация Регулярные выражения. (Лекция 4) онлайн
На нашем сайте вы можете скачать и просмотреть онлайн доклад-презентацию на тему Регулярные выражения. (Лекция 4) абсолютно бесплатно. Урок-презентация на эту тему содержит всего 19 слайдов. Все материалы созданы в программе PowerPoint и имеют формат ppt или же pptx. Материалы и темы для презентаций взяты из открытых источников и загружены их авторами, за качество и достоверность информации в них администрация сайта не отвечает, все права принадлежат их создателям. Если вы нашли то, что искали, отблагодарите авторов - поделитесь ссылкой в социальных сетях, а наш сайт добавьте в закладки.
Презентации » Устройства и комплектующие » Регулярные выражения. (Лекция 4)
Оцените!
Оцените презентацию от 1 до 5 баллов!
- Тип файла:ppt / pptx (powerpoint)
- Всего слайдов:19 слайдов
- Для класса:1,2,3,4,5,6,7,8,9,10,11
- Размер файла:117.33 kB
- Просмотров:84
- Скачиваний:0
- Автор:неизвестен
Слайды и текст к этой презентации:
№2 слайд
![Регулярные множества](/documents_6/3459f9fd6b575851932f55abcaca1b18/img1.jpg)
Содержание слайда: Регулярные множества
Регулярные множества – это следующие множества цепочек символов из некоторого алфавита Σ:
Пустое множество Ø.
Множество из пустой цепочки {λ}.
Множество из любого символа {a} алфавита Σ.
Множество всех возможных цепочек вида αβ (конкатенация);
α Є A, β Є B, где A, B – регулярные множества.
Объединение множеств A U B, где A, B – регулярные множества.
Объединение множеств всех возможных цепочек вида
λ, α1, α1α2, α1α2α3, . . . и т.д., где все α1, α2, α3, . . . принадлежат регулярному множеству A (A* – транзитивное замыкание A ).
№3 слайд
![Регулярные выражения](/documents_6/3459f9fd6b575851932f55abcaca1b18/img2.jpg)
Содержание слайда: Регулярные выражения
Регулярное выражение – это шаблон для задания регулярного множества цепочек символов из некоторого алфавита Σ.
Кроме символов алфавита Σ в регулярное выражение могут входить вспомогательные метасимволы: Ø (пустое множество), λ (пустая строка), скобки { }, скобки { }*, вертикальная черта |.
Пустое множество обозначается знаком Ø.
Пустая цепочка обозначается знаком λ.
Символ алфавита Σ обозначает себя сам.
Если α и β – оба регулярные выражения, то запись вида αβ – регулярное выражение, обозначающее конкатенацию цепочек из α и β ;
Если α и β – оба регулярные выражения, то запись вида α | β – регулярное выражение, обозначающее объединение множеств цепочек из α и β ;
Если α – регулярное выражения, то запись вида {α} – то же самое регулярное выражение, рассматриваемое, как единое целое;
Если α – регулярное выражения, то запись вида {α}* – регулярное выражение, обозначающее объединение множеств цепочек из:
λ, α, αα, ααα, . . .
и т.д., ({α}* – транзитивное замыкание α).
№4 слайд
![Примеры . Регулярное](/documents_6/3459f9fd6b575851932f55abcaca1b18/img3.jpg)
Содержание слайда: Примеры
1. Регулярное выражение:
{λ|+|–}{0|1|2|3|4|5|6|7|8|9}{0|1|2|3|4|5|6|7|8|9}*
задает запись целого числа без знака или со знаком «+» или «–».
____________________________________________________________________________________________________________________________________
Для краткости вместо явного перечисления цифр или букв через символ «|», будем использовать многоточие.
____________________________________________________________________________________________________________________________________
2. Регулярное выражение:
{0|1|. . . |9}{0|1|. . . |9}* .{0|1|. . . |9}{0|1|. . . |9}*
задает запись беззнакового десятичного числа с дробной частью.
____________________________________________________________________________________________________________________________________
3. Регулярное выражение:
{A|B|. . .|Z}{0|1|. . . |9|A|B|. . .|Z}*
задает запись идентификатора (имени) для большинства языков программирования.
№5 слайд
![Преобразование регулярного](/documents_6/3459f9fd6b575851932f55abcaca1b18/img4.jpg)
Содержание слайда: Преобразование регулярного выражения к праволинейной грамматике
1. Пусть задано регулярное выражение α. Запишем прообраз порождающего правила в виде: S → α, где S – начальный нетерминал.
2. Пусть прообраз порождающего правила имеет вид: A → aβ,
где A – некоторый нетерминал, a – терминал. Заменим это правило на следующие: A → aB, B → β, где B – новый нетерминал.
3. Пусть прообраз порождающего правила имеет вид:
A → {α1|α2}β, где A – некоторый нетерминал. Заменим это правило на следующие: A → α1β, A → α2β.
4. Пусть прообраз порождающего правила имеет вид:
A → {α}*β, где A – некоторый нетерминал. Заменим это правило на следующие: A → β, A → αA.
Преобразования проводятся до тех пор, пока все полученные порождающие правила не станут праволинейными.
№6 слайд
![Реализация регулярных](/documents_6/3459f9fd6b575851932f55abcaca1b18/img5.jpg)
Содержание слайда: Реализация регулярных выражений
Наибольшее развитие регулярные выражения получили в Perl, где их поддержка встроена непосредственно в интерпретатор.
В VBScript и JScript используется объект RegExp, в С/С++ можно использовать библиотеки Regex++ и PCRE (Perl Compatible Regular Expression).
Для Java существует целый набор расширений – ORO , RegExp, Rex и gnu.regexp.
Microsoft Visual Studio.Net
№7 слайд
![Опции i Поиск без учета](/documents_6/3459f9fd6b575851932f55abcaca1b18/img6.jpg)
Содержание слайда: Опции
/i Поиск без учета регистра.
/m Многострочный режим, позволяющий находить совпадения в начале или конце строки, а не всего текста.
/n Находит только явно именованные или нумерованные группы в форме (?<name>…). Значение этого будет объяснено ниже, при обсуждении роли скобок в регулярных выражениях.
/c Компилирует. Генерирует промежуточный MSIL-код, перед исполнением превращающийся в машинный код.
/s Позволяет интерпретировать конец строки как обыкновенный символ-разделитель. Часто это значительно упрощает жизнь.
/x Исключает из образца неприкрытые незначащие символы (пробелы, табуляция и т.д.) и включает комментарии в стиле Perl (#). Есть некоторая вероятность, что к выходу в свет эти комментарии могут исчезнуть.
/r Ищет справа налево.
№9 слайд
![Метасимволы w Слово. То же,](/documents_6/3459f9fd6b575851932f55abcaca1b18/img8.jpg)
Содержание слайда: Метасимволы
\w Слово. То же, что и [a-zA-Z_0-9].
\W Все, кроме слов. То же, что и [^a-zA-Z_0-9].
\s Любое пустое место. То же, что и [ \f\n\r\t\v].
\S Любое непустое место. То же, что и
[^ \f\n\r\t\v].
\d Десятичная цифра. То же, что и [0-9].
\D Не цифра. То же, что и [^0-9].
№12 слайд
![Квантификаторы Соответствует](/documents_6/3459f9fd6b575851932f55abcaca1b18/img11.jpg)
Содержание слайда: Квантификаторы
* Соответствует 0 или более вхождений предшествующего выражения. Например, 'zo*' соответствует "z" и "zoo".
+ Соответствует 1 или более предшествующих выражений. Например, "zo+" соответствует "zo" and "zoo", но не "z".
? Соответствует 0 или 1 предшествующих выражений. Например, 'do(es)?' соответствует "do" в "do" or "does".
{n} n – неотрицательное целое. Соответствует точному количеству вхождений. Например, 'o{2}' не найдет "o" в "Bob",но найдет два "o"' в "food".
{n,} n – неотрицательное целое. Соответствует вхождению, повторенному не менее n раз. Например, 'o{2,}' не находит "o" в "Bob", зато находит все "o" в "foooood". 'o{1,}' эквивалентно 'o+'. 'o{0,}' эквивалентно 'o*'.
{n,m} m и n – неотрицательные целые числа, где n <= m. Соответствует минимум n и максимум m вхождений. Например, 'o{1,3} находит три первые "o" в "fooooood". 'o{0,1}' эквивалентно 'o?'. Пробел между запятой и цифрами недопустим.
№16 слайд
![Правила регулярного выражения](/documents_6/3459f9fd6b575851932f55abcaca1b18/img15.jpg)
Содержание слайда: Правила регулярного выражения
Любой символ обозначает себя самого, если это не метасимвол. Если вам нужно отменить действие метасимвола, то поставьте перед ним '\'.
Строка символов обозначает строку этих символов.
Множество возможных символов (класс) заключается в квадратные скобки '[]', это значит, что в данном месте может стоять один из указанных в скобках символов. Если первый символ в скобках это '^' - значит ни один из указанных символов не может стоять в данном месте выражения. Внутри класса можно употреблять символ '-', обозначающий диапазон символов. Например, a-z - один из малых букв латинского алфавита, 0-9 - цифра и т.д.
Все символы, включая специальные, можно обозначать с помощью '\' как в языке С.
Альтернативные последовательности разделяются символом '|' Заметьте что внутри квадратных скобок это обычный символ.
Внутри регулярного выражения можно указывать "подшаблоны" заключая их в круглые скобки и ссылаться на них как '\номер' Первая скобка обозначается как '\1'.
№17 слайд
![Например, str perl проверяет,](/documents_6/3459f9fd6b575851932f55abcaca1b18/img16.jpg)
Содержание слайда: Например,
$str=~/perl/; проверяет, есть ли в строке $str подстрока "perl"
$str=~/^perl/; проверяет, начинается ли строка с подстроки "perl"
$str=~/perl$/; проверяет, заканчивается ли строка на подстроку "perl"
$str=~/c|g|i/; проверяет, содержит ли строка символ 'c' или 'g' или 'i'
$str=~/cg{2,4}i/; проверяет, содержит ли строка символ 'c', следующие сразу за ним 2-4 символа 'g', за которыми следует символ 'i'
Скачать все slide презентации Регулярные выражения. (Лекция 4) одним архивом:
Похожие презентации
-
Регулярные выражения. Лекция 7
-
Операции и выражения. (Лекция 4)
-
Senler. Регулярные выражения в ключевом слове
-
Дополнительные возможности: регулярные выражения. Метрика бета-версия, отличия и логика работы
-
Регулярные выражения
-
Литералы, переменные, выражения. Лекция 9
-
Строки. Регулярные выражения
-
Регулярные выражения. Библиотека regex
-
ПЯВУ. Лекция 5. Основы программирования. Типы данных. Понятие выражения, переменной. Область видимости
-
Regular expressions - регулярные выражения (Java)