222.57K
Category: programmingprogramming

Регулярные выражения. Лекция 1

1.

Лекция 1
Регулярные выражения

2.

Регулярные выражения (РВ)
это мощное средство текстового поиска, широко используемое при работе
в операционных системах UNIX и Linux.
фактически РВ - самостоятельный язык
используется в составе различных команд Linux или
текстовых редакторах
в рамках курса используем синтаксис команды grep

3.

Дополнительная
литература
Т.М. Волосатова, С.В. Родионов
Автоматизация проектирования лексических
анализаторов
Д. Тейнсли
Linux и UNIX: программирование в shell.
Руководство разработчика

4.

Структура регулярных
выражений
Специальные символы
Обычные символы конечного алфавита

5.

Примеры регулярных
выражений
^(?=.*[A-Z].*[A-Z])(?=.*[!@#$&*])(?=.*[0-9].*[0-9])
(?=.*[a-z].*[a-z].*[a-z]).{8}$
^(?:(?:31(\/|-|\.)(?:0?[13578]|1[02]))\1|(?:(?:29|
30)(\/|-|\.)(?:0?[1,3-9]|1[0-2])\2))(?:(?:1[6-9]|
[2-9]\d)?\d{2})$|^(?:29(\/|-|\.)0?2\3(?:(?:(?:
1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|
(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:0?[1-9]|
1\d|2[0-8])(\/|-|\.)(?:(?:0?[1-9])|(?:1[0-2]))\4(?:
(?:1[6-9]|[2-9]\d)?\d{2})$

6.

Базовые операции над
регулярными выражениями
Конкатенация
Объединение
Итерация

7.

Операция конкатенация
обеспечивает слияние символов шаблона в единую цепочку
Обозначение:
отсутствует
Действие:
cоединение
Пример:
ABC
xyz

8.

Операция объединения
обеспечивает слияние символов шаблона в единую цепочку
Обозначение:
|
Действие:
логический оператор ИЛИ
Пример:
Robert | Bob
0.5 | 0,5 | .5

9.

Операция итерации
обеспечивает повторение символа или группы символов
произвольное число раз (от нуля до бесконечности)
Обозначение:
квантификаторы * ? + {}
Действие:
повторение
Пример:
0*
2+
colou?r
1{1,5}

10.

Специальные символы
(метасимволы)
- это символы, которые в составе регулярных выражений
зарезервированы и имеют специальные значения
. [ ] \ ^ $ * ( ) | + ? {}

11.

Команда grep/egrep
general (global) regular expression parser (print)
egrep = extended (расширенный) grep
Базовый набор метасимволов команды grep: . [] \ ^ $ *
Расширенный набор метасимволов команды egrep: + ? | () {}
English     Русский Rules