Слайд 1Презентация
На тему: «Регулярные выражения»
Презентацию выполнили
студенты группы 16ВВ2
Анастасин Вадим
Прокуров Дмитрий
Пенза,2019
Слайд 2Цель презентации:
Понять что такое регулярные выражения
Какие типы регулярных выражений различают
Привести
примеры использования регулярных выражений
Слайд 3Определения
Регулярные выражения — формальный язык поиска и осуществления манипуляций с подстроками в
тексте, основанный на использовании метасимволов.
Метасимвол (символ-джокер, символ подстановки) — символ, используемый для
замены других символов или их последовательностей, приводя таким образом к символьным шаблонам.
Слайд 4Зачем нужны регулярные выражения?
Регулярные выражения - это очень мощный инструмент
для поиска текста по шаблону, обработки и изменения строк, который
можно применять для решения множества задач. Вот основные из них:
Проверка ввода текста;
Поиск и замена текста в файле;
Пакетное переименование файлов;
Взаимодействие с сервисами, таким как Apache;
Проверка строки на соответствие шаблону.
Слайд 5Использование метасимволов
С помощью метасимволов вы можете сделать намного больше чем
поиск одного символа. Вы можете искать комбинации символов, использовать динамическое
их количество и выбирать диапазоны. Все спецсимволы можно разделить на два типа, это обычные символы и символы замены, которые заменяют собой обычные символы, или операторы, которые указывают сколько раз может повторяться символ. Синтаксис регулярного выражения будет выглядеть таким образом:
обычный_символ спецсимвол_оператор
спецсимвол_замены спецсимвол_оператор
Слайд 6Метасимволы bash
\ - с обратной косой черты начинаются буквенные спецсимволы, а
также он используется если нужно использовать спецсимвол в виде какого-либо
знака препинания;
^ - (циркумфлекс) указывает на начало строки;
$ - указывает на конец строки;
* - указывает, что предыдущий символ может повторяться 0 или больше раз;
+ - указывает, что предыдущий символ должен повторится больше один или больше раз;
? - предыдущий символ может встречаться ноль или один раз;
Слайд 7Метасимволы bash (продолжение)
{n} - указывает сколько раз (n) нужно повторить предыдущий
символ;
{N,n} - предыдущий символ может повторяться от N до n раз;
. -
любой символ кроме перевода строки;
[az] - любой символ, указанный в скобках;
х|у - символ x или символ y;
[^az] - любой символ, кроме тех, что указаны в скобках;
[a-z] - любой символ из указанного диапазона;
[^a-z] - любой символ, которого нет в диапазоне;
\b - обозначает границу слова с пробелом;
Слайд 8Метасимволы bash (продолжение)
\B - обозначает что символ должен быть внутри слова,
например, ux совпадет с uxb или tuxedo, но не совпадет с
Linux;
\d - означает, что символ - цифра;
\D - нецифровой символ;
\n - символ перевода строки;
\s - один из символов пробела, пробел, табуляция и так далее;
\S - любой символ кроме пробела;
\t - символ табуляции;
\v - символ вертикальной табуляции;
\w - любой буквенный символ, включая подчеркивание;
\W - любой буквенный символ, кроме подчеркивания;
\uXXX - символ Unicdoe.
Слайд 9Экранирование
Перед буквенными спецсимволами нужно использовать косую черту, чтобы указать, что
дальше идет спецсимвол.
Слайд 10Примеры
Выражение egrep "^s" /etc/passwd выводит список пользователей, имя которых начинается
на “s”
Слайд 11Примеры
Если мы хотим отбирать строки по последнему символу в строке,
что для этого можно использовать $. Выберем всех системных пользователей,
без оболочки, записи о таких пользователях заканчиваются на false: egrep "false$" /etc/passwd
Слайд 12Примеры
Чтобы вывести имена пользователей, которые начинаются на s или d
используется такое выражение: egrep "^[sd]" /etc/passwd
Слайд 13Примеры
Такой же результат можно получить, использовав символ "|". Первый вариант
более пригоден для диапазонов, а второй чаще применяется для обычных
или/или: egrep "^[s|d]" /etc/passwd
Слайд 14Примеры
Вывести имена всех пользователей, длина имени которых составляет не три
символа. Имя пользователя завершается двоеточием. Мы можем сказать, что оно
может содержать любой буквенный символ, который должен быть повторен три раза, перед двоеточием: egrep "^\w{3}:" /etc/passwd
Слайд 15Вывод
В данной презентации мы рассмотрели регулярные выражения Linux, привели примеры
их реализации,а так же выделили их типы, но это были
только самые основы,если изучить эту тему, то вы найдете что с помощью этого инструмента можно делать намного больше интересных вещей.