Что такое регулярные выражения (регулярки, regexp)

  Рет қаралды 2,941

Python Russian

Python Russian

3 жыл бұрын

По просьбе подписчиков в этом видео совсем немного затронем регулярки. Напишем несколько показательных примеров и подумаем о необходимости их понимания.
Плюсы регулярных выражений:
1) Python очень быстро и эффективно работает с регулярками, быстрее многих других ЯП, в том числе компилируемых
2) могут помочь там, где иначе пришлось бы предпринять много лишних действий (разбить текст, вырезать знаки препинания и т.п.)
3) при определенных условиях могут быть короткими и читаемыми
Минусы:
синтаксис! Он не связан с языком программирования, не всегда понятен, для сложных шаблонов может быть большая строка, состоящая из набора разных символов, что не добавляет оптимизма.
Где регулярки выигрывают - там где большой текст или сложный шаблон для поиска. Понятно что фразу из 3 слов проще и быстрее обработать методами строки, но по мере роста объемов текста и сложности шаблона регулярки выходят на первый план и по скорости и по краткости.
Совет из практики: если регулярка(само выражение) большая, то вынесите ее в константы с понятным именем и напишите коммент с примером ее работы.
Каждому питонисту советую прочесть документацию библиотеку re чисто для ознакомления, чтобы было представление о том, что там есть. Тем, кто парсит сайты и работает с текстами -регулярки нужно просто знать!
Спасибо www.cyberforum.ru/members/109... за помощь в создании обзора
Полезные ссылки:
Официальная документация
docs.python.org/3/library/re....
Отличнейший онлайн - инструмент тестирования/изучения регулярок
regex101.com
Книга Яна Гойвертса «Регулярные выражения. Сборник рецептов. 2-е издание» - читать!
Присоединяйся к помощи каналу, будет интересно)
✔️Бусти boosty.to/python_russian/donate
✔️Юмани 410011506612886
Будь первым везде и всегда, включай уведомления о новых выпусках 🔔
#Python #PythonRussian #PyCharm

Пікірлер: 26
@IlyaIlya_lopkop
@IlyaIlya_lopkop 3 жыл бұрын
Мало таких же качественных видео, как у тебя. Спасибо👍
@PythonRussian
@PythonRussian 3 жыл бұрын
благодарю
@gray6207
@gray6207 3 жыл бұрын
Спасибо огромное за видео. Очень доходчиво для общего понимания о регулярках. Более глубоко тот, кому надо, изучит по указанным ссылкам. Продолжай в том же духе.
@PythonRussian
@PythonRussian 3 жыл бұрын
согласен, особенно учитывая что тема очень большая.
@stevem4806
@stevem4806 10 ай бұрын
Спасибо!
@netsdzian8009
@netsdzian8009 Жыл бұрын
Спасибо за материалы!
@im0767
@im0767 Жыл бұрын
спасибо, очень понравилось!
@user-do4nq3fr6t
@user-do4nq3fr6t 3 жыл бұрын
ну как минимум начало положено для дальнейшего изучения, спасибо
@PythonRussian
@PythonRussian 3 жыл бұрын
в начале следующей недели постараюсь про декораторы снять.
@user-do4nq3fr6t
@user-do4nq3fr6t 3 жыл бұрын
@@PythonRussian а вот с этим вообще не приходилось ещё сталкиваться в обучении, будем ждать
@eldos704
@eldos704 3 жыл бұрын
В первом примере на нахождение дат, код занял 15 строк, против одной с регуляркой. Вывод - регулярки это сила
@PythonRussian
@PythonRussian 3 жыл бұрын
да, но только как и любая сила -она требует осторожного обращения. Как и с листкомпсами/лямбдами -не надо совать регулярки в каждую дырку) Ну и всегда думать о том чтобы сохранять читаемость кода (писать хотя бы коммент что за регулярка, если она не банальная).
@eldos704
@eldos704 3 жыл бұрын
@@PythonRussian спасибо за совет
@user-re1pg5rw1x
@user-re1pg5rw1x 3 жыл бұрын
Автор, спасибо за видео! Позволю себе небольшую порцию перчика в эту бочку меда, если критика здесь разрешена: 1. хоть и было заявлено, что видео вводное и поверхностное, но было также отмечено участие некоего мастера йоды из мира регулярок и хорошая книга по регуляркам. На выходе видео действительно было только поверхностным и не были показаны хотя бы в качестве парочки примеров действительно сложные и интересные юз кейсы по использованию regex. Если это все что можно почерпнуть из книги и если это все с чем знаком мастер регулярок, то это плохие источники. К тому же, таких вводных видео по регуляркам вагон и маленькая тележка и хотелось бы, чтобы подход был как на защите диплома или кандидатской когда один из первых вопросов, а чем ваша исследовательская работа отличается от других. 2. читать техническое апи по диагонали это моветон. Изучение апи читается через практику иначе в голове ничего не отложится. Это не худ. литература и нужно обязательно ручками поделать примеры, понять как это работает. Тогда в будущем что-то останется в памяти о возможностях апи по работе с regexp. А то многие наслушавшись таких советов приходят на собесы, указывая в резюме что они с этим работали, а на практике подтвердить заявленное не могут. Итог такой: видео по пайтону сейчас востребованные, язык сейчас популярный => вводных видео по пайтону будет появляться все больше и больше, но настанет момент когда кол-во перейдет в кач-во и хотелось бы, чтобы в категории качественных видео было видео от тебя, автор, потому что, как мне видится, у тебя все предпосылки для этого есть.
@PythonRussian
@PythonRussian 3 жыл бұрын
я сам слаб в регулярках, что и отмечал, потому примеры попросил у того, кто применяет их часто и разбирается. "Сложные и интересные кейсы" -это вкусовщина, на мой взгляд именно они и были показаны, что-то более сложное показывать новичку нет смысла, просто не поймет. Про вагон и маленькую тележку -а мне то что? =) я видео снимаю для собственного удовольствия и по тем темам, что просят, а вовсе не потому что думаю создать некую нетленку, которой в инете нет. Этот канал вообще появился просто из-за того что надоело отвечать про "модуле нот фаунд", а не с высокими целями. Вон судя по комментам некоторым подписчикам хотелось бы музыки на фоне и монтажа красивого, но у меня нет на это времени и желания. Я просто свое мнение выражаю и свои мысли в своем формате, у вас естественно мнение может кардинально отличаться, это и хорошо.
@figura-a
@figura-a 2 жыл бұрын
Здравствуйте. Подскажите пожалуйста как c помощью регулярного выражением выбрать только консоль лог и скобки без содержимого в нем? До применения регулярного выражения console.log('regx', bottom, 123-6 -15f () false || true), после применения регулярного выражения console.log()
@rpuropu
@rpuropu 3 жыл бұрын
в питоне 3.8 появилась фишка с шаред мэмори, на каком этапе, по твоему мнению, новичкам начинать учитывать работу потоков?
@PythonRussian
@PythonRussian 3 жыл бұрын
не знаю на каком) пока не столкнутся. Потоки лучше без нужды не трогать, а затронув -серьезно изучать, потому что в питоне своя специфика.
@rpuropu
@rpuropu 3 жыл бұрын
питон это конечно очень круто, но изучать что-то одно - хуже запоминается.. я вот думаю, какими базами развееть только лишь питон? прохожу бесплатные курсы (только начал) на степике, там MySQL 8.0.21.. Вчера у одноклассника, в сбере работает, спросил какие базы там востребованы? Может Монго? он ответил - используются все ему известные О_о ... можно твоё мнение услышать? меня вот дата сайнтист направление интересует, с какими базами планировать обучение, через призму питона? Про нампи и пандас и матплот либ я в курсе, уже запланировано.. а дальше что куда?
@PythonRussian
@PythonRussian 3 жыл бұрын
Мускуль (mySQL) тоже пойдет, между сиквель БД разница есть, но она не велика, то есть поработал плотно с 1 -знаешь все. В сиквель мире самые популярные решения это мускуль и постгре, любую бери, сиквель тебе в любом случае не повредит. МонгоДБ - это мегакрутая вещь (чисто мое мнение), но это не сиквель база данных, там используется собственный язык запросов. Она используется уже сильно реже, так что я бы для старта посоветовал мускуль (раз ты его уже начал), когда все crud-операции освоишь, можно одним глазком поглядеть на Монгу, но аккуратно -затягивает.
@rpuropu
@rpuropu 3 жыл бұрын
о.. я тут осознал.. что-то я вообще не видел в инете как присасываться к базам? О_о с ними через пайчарм с питоном же как то можно общаться? вот я настолько в начале, хотя в универе я делал 140 лаб по сортировке матриц за два дня на С++ ... )).. и потом 15 лет афк вот так сказались. у меня есть убунту виртуальная и три монитора, мне это поможет симулировать что-то полезное для работы питона с базами? О_о
@rpuropu
@rpuropu 3 жыл бұрын
@@PythonRussian спасибо, что такое сиквель? почему с мягким знаком? это жаргон?)
@rpuropu
@rpuropu 3 жыл бұрын
@@PythonRussian мне во тещё интересно, вроде как можно модули для питона писать на С++, круто, отлично. Но появился вот такой язык Rust, и ег опопулярность растёт, от создателей Мозиллы.. Вроде как сеьёзный конкурент именно С++. И я вот думаю, через годик может лучше не восстанавливаться в С++, а сразу в Rust пойти, при условии, что .. Существует ли возможность совмещения его с Питоном на таком же уровне, как и с С++? Подскажешь?
@PythonRussian
@PythonRussian 3 жыл бұрын
@@rpuropu в платной версии пайчарм есть возможность и с бд удобно работать и с датафреймами и с юпитером (дата-саентистские штучки). В коде прицепиться к БД -не проблема. Про мониторы ничего не скажу, а убунта вроде не помеха для баз данных?
Конкурентность и параллельность
40:31
Python Russian
Рет қаралды 5 М.
Please be kind🙏
00:34
ISSEI / いっせい
Рет қаралды 66 МЛН
Increíble final 😱
00:37
Juan De Dios Pantoja 2
Рет қаралды 81 МЛН
3 wheeler new bike fitting
00:19
Ruhul Shorts
Рет қаралды 39 МЛН
Основы Регулярных Выражений В Python | Модуль re
18:54
PyLounge - программирование на Python и всё о IT
Рет қаралды 23 М.
STM32 I2C ч.2 CMSIS
47:28
MBDLB
Рет қаралды 1,8 М.
Python с нуля. Урок 12 | Регулярные выражения. Часть 1
14:14
Иван Викторович
Рет қаралды 101 М.
Словарь и множество (dict, set)
51:21
Python Russian
Рет қаралды 4 М.
Основы Asyncio
53:25
Python Russian
Рет қаралды 11 М.
Магические методы в python. Dunder методы
1:00:45
Python | Урок 14: Регулярные выражения
16:36
Мастерская Важных историй
Рет қаралды 16 М.
Please be kind🙏
00:34
ISSEI / いっせい
Рет қаралды 66 МЛН