[UNИХ] Программное обеспечение GNU/Linux - 06 - Регулярные выражения (2017-11-08)


uneex.org
Регулярные выражения — uneex.org/LecturesCMC/LinuxSoftware2017/06_Regexp

Принцип: сопоставление строки шаблону

Шаблоны (например, в flename generation) и их недостатки.

Язык: *? [a-z] [^a-z]
⇒ целое число? :(
… (ещё антипримеры?)
Задание и принцип работы РВ

⇒ Более общий механизм? (Хомский: формальный грамматики)

автоматные (регулярные) грамматики — имеют (относительно) низкую вычислительную сложность сопоставления
Примеры:

grep,
поиск с заменой: sed, нумерация и подстановка карманов
Синтаксис:

«просто_символ» → просто символ
"." → один любой символ
"[символы]" или "[диапазон-символов]" или "[и то и то]" → один символ из диапазона
(повторитель) «атомарное_РВ*» → строка, сопоставимая атомарному_РВ, повторенному 0 или более раз (в частности, пустая)
«РВ1РВ2…РВN» → строка, которую можно разбить на последовательные части, сопоставимые РВ1…РВN соответственно
Принцип однозначности: самое левое сопоставление — самое длинное
(группа) "(РВ1РВ2…РВN)" → атомарное регулярное выражение (можно помечать повторителем)
группа == карман (так вышло)
(позиционирование) "^" и "$" → начало и конец строки (не сопоставляются символам строки, только отмечают позицию)
Регулярные выражения и конечные автоматы

NFA — «поиск с возвратом»
«A.*B.*A»? wAtBlABlAs по правилу «самый левый самый длинный»
DFA — «сопоставление»
«A*AB? AAB
A:
A ← „A*“ или
A ← „A*A“, потому что ← „A*“ и для третьего символа РВ A ← „A“, т. е.
AA:
AA ← „A*“
AA ≠ „A*AB“, потому что для четвёртого символа РВ A ≠ „B“
AA ← „A*A“, где A ← „A*“ и A ← „A“
AAB:
AAB ≠ „A*A“, потому что B ≠ „A“
уже ≠
AAB ← „A*AB“, потому что AA ← „A*A“ и B ← „B“
Расширенные РВ

Альтернатива „РВ1|РВ2“ → строка, сопоставимая или с РВ1 или с РВ2
Повторители » " (1 и более раз) и "?" (0 или 1 раз)
Повторитель «количество}» и "{[миниум],[максимум]}"
Классы эквивалентности в диапазонах
Эквивалентность базовым РВ

Утилиты: tr, grep / egrep / fgrep, awk, less, vi / vim, …

Flavours

Закавычивание с помощью \
Именование карманов
Незапоминаемые группы
Базовые или расширенные
Полезности: индикаторы начал/концов слов и т. п.
многострочные РВ

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

Perl/PCRE, Python, иное

обратные ссылки на группы (есть в egrep: cal | egrep ([0-9])4.*\1)
нежадные повторители (опасность полного перебора).
пред- и пост-просмотр

Органайзер размером с кредитку и его друзья


Здравствуйте, друзья! В одной из прошлых посылок ко мне приехал электронный органайзер REX-3 — и вы просили о нём рассказать. Но в этом ролике мы поговорим не только о нём, но и вообще об электронных органайзерах, об истории их появления и развития.

Группа ВК: vk.com/old_devices

GRiDCase - IBM PC совместимый ноутбук от GRiD


В этом видео мы продолжим следить за судьбой компании GRiD Systems — авторов первого в мире ноутбука. В середине 80-х годов компания столкнулась с растущей популярностью IBM PC и появлением конкурентов на рынке портативных компьютеров, что снижало продажи ОЧЕНЬ дорогого GRiD Compass и побуждало к ответным действиям. Поэтому в 1985 году GRiD выпустили новый продукт — ноутбук GRiDCase, который должен был показать конкурентом, как надо делать IBM PC совместимые портативные компьютеры на самом деле. Сегодня мы узнаем, что из этого получилось.

=====================================================

Музыка: Tri-Tachyon — Moods for Stacey (https://tri-tachyon.bandcamp.com/track/moods-for-stacey)

Группа ВК: vk.com/old_devices

Образ SPoC чтобы слетать в космос, пока сидите дома: github.com/robertely/SPOC-VirtualBox

Инструкция для запуска эмулятора GRiD Compass от Антона Коржука: vk.com/old_devices?w=wall-111509024_31889/all

Список литературы: github.com/BOOtak/old-devices-bibliography/blob/master/GRiDCase.md

Bentley для Русских дорог. Создание монстра OffroadSpb


Заходите на Циан и сдавайте квартиры через сервис “Сдай/сними”: clck.ru/Ry5xL Все быстро и удобно: сервис поможет найти идеальных арендаторов, окажет юридическое сопровождение и покроет потенциальные риски даже после заселения жильцов.

Работы производились в мастерской Jagger Garage:
www.instagram.com/jagger_garage/
vk.com/jagger_garage

Собственник автомобиля:
www.instagram.com/alekspavl8/
Больше видео с этой Бентли:
www.youtube.com/channel/UC6aBcPLwQA6rm_jZ4oMkd6Q

Музыка из этого видео:
vk.com/academegost

ПО вопросам рекламы и сотрудничества:
academeg@a-proved.ru
Мой канал стримов:
www.youtube.com/c/AcademeGDailyStream
Instagram:
instagram.com/academeg
Вконтакт:
vk.com/AcademeG
AcademeG тру ориджинал групп:
vk.com/academeg_reviews
Фтарой канал:
www.youtube.com/user/AcademeG2ndCH
Сувениры Academeg Store:
vk.cc/5UNsQJ
Автохимия Suprotec-Aprohim:
suprotec.ru/

#offroad

Новости Linux: Ядро Linux в Windows, Linux Mint DE 4, Конец времени...


В этом видео рассказывается о событиях из мира Linux и IT. Затрагиваются темы про новую версию дистрибутива Linux Mint Debian Edition 4, релизы программ TorBrowser, Audacious, OBS Studio, Geary, про новую цену на Raspberry Pi, про проблему 2038, про «антивирус» от Windows и WSL. А также пара слов про любовь Microsoft к Linux.

Видео в формате подкаста. Видеоряд не несет особого смысла и создан в качестве дополнения.

=====================================

Наш Телеграмм. Присоединяйтесь:
ttttt.me/pingvinus_ru

=====================================

Смотрите также:

Linux новости: Полиция и Linux, GNOME 3.36, GIMP опасен, Обои Ubuntu 20.04…
youtu.be/oxYJVqVvly8

Проблема 2038
youtu.be/1kHqwDRNwJI

Raspberry Pi 4. Обзор
youtu.be/c3YVY1eFYiM

Raspberry Pi 4. Охлаждение
youtu.be/uR6ks7YvigQ

=====================================

Анонс этого видео на нашем сайте:
pingvinus.ru/news/2365

Linux, новости, игры и программы, дистрибутивы и многое другое:
pingvinus.ru

Новости из мира Linux: NGINX атакуют, Дистрибутивы, Овечки, nano..


Видео про некоторые события из мира Linux и IT в декабре 2019 — новости и релизы. Видео в режиме подкаста, видеоряд создан в качестве дополнения.

В этом видео вы узнаете про некоторые релизы программ, про релиз игры SuperTux, про релизы дистрибутивов, а также про проблемы с веб-сервером nginx.

Новости из мира Linux (противостояние GNOME с патентными троллями):
youtu.be/53YaSi06rCg

Обзор Elementary OS 5.1:
youtu.be/0sVDpIjZw8I

Обзор LinuxMint 19.3:
youtu.be/X7Sh8R6sGg4

Наш Телеграмм. Присоединяйтесь!
tlg.name/pingvinus_ru

Linux, новости, игры и программы, дистрибутивы и многое другое:
pingvinus.ru

Principios para el éxito por Ray Dalio (en 30 minutos)


Acompáñame en una aventura que te hará reflexionar en mi nueva mini-serie de animación, Principios para el Éxito. He tomado mi libro «Principios» y lo he destilado en una ultramini-serie de 30 minutos que se centra en los principios de la vida que más me han ayudado.

Para más información acerca de Principios de Ray, No 1 en la lista de best sellers del New York Times: amzn.to/2JMewHb
Compra su nuevo libro, Principios para el Éxito: amzn.to/34lgnNJ
Conéctate con Ray en Facebook: www.facebook.com/raydalio
Síguelo en Twitter: www.twitter.com/raydalio
Síguelo en LinkedIn: www.linkedin.com/raydalio
Síquelo en Instagram: www.instagram.com/raydalio/
Descarga su app gratuita: principles.app.link/PFS