16:30 Перед диапазоном букв лучше будет поставить ещё шаблон \b : re.findall(r' *\b* [*диапозон*]\w+...) Потому что у меня при предложении "А ты учился в Б классе?" в результате выходил список ['ты', 'чился', 'классе'], и именно шаблон \b решил проблему. Также, если вы хотите, чтобы захватывались и однобуквенные предлоги ("с", "в" и т.д.), то в данном случае нужно будет заменить плюс перед шаблоном \w на звёздочку *, так как шаблон "+" подразумевает под собой "один и более" [символов], а шаблон "*" - "ноль или более". Если говорить проще, то "+" это тоже самое, что и шаблон {1,} , а "*" - {0,} Надеюсь, я был полезен
Не просто будет лучше, а обязательно нужно добавлять. В примере Ивана сработало только потому что у него не было ни одного слова начинающегося на гласную букву и состоящего более, чем из двух символов. Ну и также не было ни одного слова состоящего из одной согласной.
Для быстрого усваивания программы, поставил скорость видео на 0.75. Теперь Иван Викторович как мой чуть-чуть пьяный друг, который на кухне рассказывает мне по-быстрому про python.😅Очень ламповая атмосфера. Огромное спасибо за каждый урок!
Большое спасибо за видео-уроки! Живу в небольшом поселке, никаких курсов нет, а в школах стоит по 3 компьютера на весь класс. Свою жизнь хочу связать с программированием. Благодоря вам могу изучать данную сферу. Спасибо!!!
Иван Викторович, большое спасибо за ваш труд! Начал с абсолютного полного нуля. Вы очень понятно и доступно объясняете. Очень надеюсь, что будут новые выпуски уроков по Python.
Иван, под каждым видео замечаю комментарии, в которых люди выражают благодарность. Вы помогаете людям образовываться, а некоторых достигать своих целей. Спасибо за ваш труд, продолжайте в том же духе
хочу нарезку видео, где Иван Викторович извиняется за свой английский :D Уважаемый И.В.! Спасибо Вам большое за то, что Вы делаете! Ваши уроки мне очень многое дали и дают!
Спасибо комментариям по поводу \b, я его сначала поставила, но ... Сенсей же не ставит - убрала ) А, оказывается - надо. А уроки отличные! Продолжаем грызть )
Спасибо за ваши уроки. Посмотрел все, очень впечатлен. Буду ждать от вас еще больше полезных вещей!!! Иногда голова кипит от идей и задач. Можно будет записать урок для поиска информации с сайта или ресурса? На живом примере. Будет очень полезно!
Поддерживаю! Хотелось бы увидеть простой пример парсера, возможно даже во взаимодействии с телеграмм ботом с подробным "разжевыванием" методов (что, откуда, для чего). Многие просто описывают весь процесс, но не объясняют сути (какие методы для чего нужны). Что сводит понимание кода для начинающих к "0". Надеюсь что понятно объяснил свои хотелки ).
Другой пример применения регулярных выражений (из-за чего самому пришлось учить их, итить-колотить) - есть HTML страница с картинками, и пришлось изменить путь к папке с картинками, так вот там надо через регулярные выражения найти теги с ссылками на картинками и заменить их на новые.
18.07.2022 Я на этом уроке. Собираюсь выучить python (пока не знаю как). Занимаюсь каждый день понемножку. Кто увидел этот коммент спустя месяцев 6, напишите комментарий и спросите как успехи. Раньше этого времени писать не нужно. Спасибо
6 месяцев маловато. Попроси спросить через 10-12 месяцев. Сам сел учить питон. пришлось параллельно выучить много мелких фреймворков и библиотек. Но когда сел учить учить фласк, то в процессе обучения пришлось выучить SQLite, PostgreSQL, MongoDB (все DB в принципе похожи), далее пришлось выучить HTML и CSS, затем регулярные выражения.... Под выучить я подразумеваю пройти курс, что бы понимать что вообще происходит. Подозреваю что следующим будет Джанго и вот потом я надеюсь что смогу почувствовать себя джуном. Планирую уложиться в 7-9 месяцев, но не факт что уложусь. (стараюсь тратить в день не меньше трех часов, в идеале - 5-6 часов в день)
@@Морковка-ф4щ Нарой простые проекты и разберай их. Прослушал, написал, вчехлил. Следующий проект. Напиши карькулятор через визуализатор, попробуй розчехлить черепашку.
За урок большое спасибо! А вот за пример в конце - осуждение. В нем же сразу две ошибки. Если только это не был хитрый педагогический прием с умышленной ошибкой, чтобы заставить учеников пошевелить извилинами самостоятельно😀
Очень доступно всё объясняется. Хорошие уроки. Не смотря на это возникают у меня начиная с 10, по-моему, урока ошибки, с некоторыми я как-то разобралась в итоге, а с этими двумя уроками так и никак. выходят ошибки. при чем разные в Иде одна, в пч вообще другая, текст один и тот же. Всё таки самой сложновато, если с полного 0, спросить не у кого. гуглить конечно суперский вариант, но времени разобраться в вопросе с помощью гугла очень много уходит. очень. это так, чисто моя боль.
Огромный респект и уважуха, Иван Викторович! Тема действительно очень сложная. Если в предыдущих видео больше цеплял незаурядный подход к изложению материала, а примеры могли быть абсолютно любые, то здесь жирный лайк именно за пример. Без него видео было бы бесполезным.
Все круто но долго разбирался еще после урока пересматривая пару раз, вроде код написал а вот почему стоит w+ в конце сырой строки, а не например сразу после \b было не понятно, пришлось экспериментировать) в итоге псе понял. Однозначно подписка лайк) Продолжай развивать тему питона не только на 'Мини курс'.
Вопрос к примеру. Если слова, начинающиеся на гласную состоят более, чем из одной буквы, то такой код не пропустит это слово. Т.Е. если последнее слово "нормально" заменить на "отлично", то программа выведет "тлично". Поправьте, если ошибаюсь.
Спасибо за прекрасный урок, можно вопрос вы случайно не были участником видео где человек фоткал себя каждый день на протяжении нескольких лет, просто вы на него очень похожи =)
Почему-то когда нужно ввести не более каких-то повторений, выходит такой результат: re.Match object; span=(0, 0), match=' '> делаю все как вы показали: import re s = "gfff5555 __r555jjgfqer433__489HJKKKK7551" result = re.search(r"\d{,4}", s) print(result)
Иван Викторович - объяснять и учить это ваше. Лично мне зашло и уверен что другим тоже. Очень бы хотелось видеть у вас линейность, то есть курсы. Допустим курс ООП и вы делаете 20-40 видео по ООП, допустим Джанго и делаете курс по джанго. P.S. я понимаю что это ещё тот геморой. НО поставьте как можно больше рекламы чтобы этот геморой хоть как-то окупился. Если сделаете курсы платными их тоже будут брать я уверен, но не у всех есть деньги для того чтобы их приобрести, особенно у начинающих программистов
в последнем предложение вместо ( а у меня всё нормально) я составил ( анфиса утром всё нормально) ,в итоге получил (нфиса тром всё нормально) . всё проверил по шагам , результат тот же . Почему то пропустил только буквы , а не целые слова
Небольшой конспект урока import re s = 'Привет, как дела. А у меня хорошо.' result = re.findall(r'[бвгджзклмнпрстфхчшщауАУВГДЖЗКЛМНПРСТФХЧШЩ]\w*', s) print(result) #\d - выводит первую цифру #\D - выводит любой символ, кроме цифры #\s - выводит любой пробельный символ #\S - выводит любой не пробельный символ #\w - выводит любую букву, цифру и символ '_' #\W - выводит не букву, не цифру и не символ '_', #а выводит +, -, *, /, {, ', ~ #\b - указывает на начало или конец слова #\B - не укажет на границы слова, #слева или справа есть символы #\...* - ноль или более вхождений после #первого найденого символа (буква 'п' входит) #\...+ - один или более вхождений после #первого найденого символа (буква 'п' НЕ входит) #так как надо и И БОЛЕЕ символов! #[] - поиск диапазона символов #[^;-;] - выводит все кроме ;-; #...|,,, - выведет или ..., или ,,, #(зависит от положение слова в строке) #\...{1} - количество повторения шаблона #\...{1,9} - количество повторения шаблона #от скольки до скольки #\...{1,} - не менее, чем одно повторение #\...{,1} - не более, чем одно повторение
Продублировал комент какого то челика, но мне и самому интересно какой мой результат будет через пол года , может вообще забью на это всё, а может стану самым успешным и молодым программистом 😁😁😁😁 24.09.2022 Я на этом уроке. Собираюсь выучить python (пока не знаю как). Занимаюсь каждый день понемножку. Кто увидел этот коммент спустя месяцев 6, напишите комментарий и спросите как успехи. Раньше этого времени писать не нужно. Спасибо
@@plugar_inf я не понимаю 1 задание по ЕГЭ по информатике. В интернете нет его подробного решения. МОжно я вас скину его в ВК и вы объясните за 5 минут?
Здравствуйте. В коде s = 'fskjdbf 43524643 lkgn 34kn238===-34 fnlwnf =3nm' res = re.search(r'[40-45]', s) print(res) выводится первая попавшаяся цифра, а именно "4". Подскажите, можно ли делать диапазон поиска двузначных чисел, к примеру нужно было найти первое попавшееся "43". Спасибо за ответ, спасибо за курс
Здравствуйте, пытался решить задачу на с помощью рег. выр. , нужно было разделить строку по 3 символа напр. "фыв ппа рпр опр". На джава скрипт почти решил example.replace(/.{3}/g, '$& ') только если вставить переменную в фиг. скобки {n = 3} не работает а с числом работает. На питоне я такое повторить на смог хотя рег. выр. почти такие же (с помощью re.sub() пытался). Можно ли вставлять переменную в фиг. скобки {перем.}, и можно ли это повторить на питоне?
Да, автор слишком сжато рассказал, а как раз одна из самых частых задач - это найти фрагмент и вставить в это место тот же фрагмент, но видоизмененный слегка (например, заменить все богомерзкие даты в американском формате месяц/день, на православные день/месяц). В регулярках для таких замен есть два удобных пути: группировка шаблона и использование ссылок на группы или использование функции, возвращающей в виде строки обработанный фрагмент. 1. Чтобы сделать группу, надо шаблон (или его часть) поместить в круглые скобки: r"(...)" или r"(.{3})" - на примере твоей задачи это шаблон 3х любых символов подряд. Тогда ссылка на такую группу в подставляемой строке будет выглядеть как r"\1", где цифра после слеша - это номер группы (в порядке их следования в шаблоне). Для твоей задачи это будет выглядеть так (пробел заменен на подчеркивание, для удобства чтения): example = "1233567890" result = re.sub(r"(...)", r"\1_", example) 2. Использование вместо подставляемой строки собственной функции. Функция должна принимать на вход один параметр, туда будет передан match-объект фрагмента, обрабатывает его и возвращает результат работы в виде строки, которая и будет подставлена: example = "1233567890" def transform(m): return m[0] + "_" result = re.sub(r".{3}", transform, example) или для тривиальных случаев, вроде твоего через лямбда-функцию: example = "1233567890" result = re.sub(r".{3}", lambda m: m[0] + "_", example) ЗЫ: в питоне, чтобы передать в строку переменную, одним из простых вариантов будет использование префикса форматированной строки перед raw-строкой. Только необходимо утроить количество фигурных скобок, т.к. фигурная скобка в форматированной строке - это спецсимвол блока вычисления (первая пара скобок нужна чтобы указать формату, что нам нужна фигурная скобка как символ, 3я скобка - сам спецсимвол начала блока вычисляемого выражения): n = 3 example = "1233567890" result = re.sub(fr"(.{{{n}}})", r"\1_", example) Осталось только причесать решение и учесть тот факт, что при длине строки кратной числу n, в результате будет записан лишний пробел в конец строки. Я не знаю полного условия твоей задачи, но считаю, что лишний пробел в итоговой строке был бы неверным результатом работы кода: result = result if len(example) % n else result[:-1]
Traceback (most recent call last): File "C:/Users/User/PycharmProjects/pythonProject/re.py", line 1, in import re. Ну и там в 3 строке еще другая ошибка, но она следствие первой наверно, т.к. первая в первой строке - а там всего два слова - import re -для вызова модуля...
re.findall, когда выводим слова начинающиеся с согласной. если слово начинается с гласной в вашем примере. то он выведет остаток слова в том числе. например у меня в строке было слово "учусь" и мне он вывел "чусь". я что-то не так сделал или надо по другому настраивать фильтр?
Поставь \b, перед тем, как указать диапазон. Так он будет захватывать и гласные, с которых начинается слово. re.findall(r"\b[Диапазон]\w*", s) \w* - "*" захватывает предлоги
почему тогда в коде: m = '+46а==123' s = re.search(r"\d{,3}", m) print(s) выдает результат: хотя, как вы говорите, должен найти первые подряд не более 3 цифры?
В Вашем примере все слова, начинающиеся с гласных букв, только из них и состоят. У меня другой пример: s = "Система должна вывести все уникальные слова, начинающиеся с согласной буквы." result = re.findall(r"[бвгджзйклмнпрстфхцчшщБВГДЖЗЙКЛМНПРСТФХЦЧШЩ]\w+", s) print(result) И слово "уникальные" выводится как "никальные". Но выводится
Видно , что автор данного видео сам параллельно знакомится с регулярными выражениями. Вместо перечисления всех русских символов можно использовать [а-яА-Я] , либо если на английском языке надо , то [a-zA-Z].
16:30 Перед диапазоном букв лучше будет поставить ещё шаблон \b :
re.findall(r' *\b* [*диапозон*]\w+...)
Потому что у меня при предложении "А ты учился в Б классе?" в результате выходил список ['ты', 'чился', 'классе'], и именно шаблон \b решил проблему.
Также, если вы хотите, чтобы захватывались и однобуквенные предлоги ("с", "в" и т.д.), то в данном случае нужно будет заменить плюс перед шаблоном \w на звёздочку *, так как шаблон "+" подразумевает под собой "один и более" [символов], а шаблон "*" - "ноль или более". Если говорить проще, то "+" это тоже самое, что и шаблон {1,} , а "*" - {0,}
Надеюсь, я был полезен
Да, полезно. Спасибо!
Спасибо за инфо! Тоже заметил такую штуку и полез в комменты искать варианты избавления от неё
@@vaaallo Я тоже заметила эту штуку и рада, что нашла сама решение
Вроде не должно было выводить вообще слова учился , так как начинается с гласной буквы.
Не просто будет лучше, а обязательно нужно добавлять.
В примере Ивана сработало только потому что у него не было ни одного слова начинающегося на гласную букву и состоящего более, чем из двух символов.
Ну и также не было ни одного слова состоящего из одной согласной.
Для быстрого усваивания программы, поставил скорость видео на 0.75.
Теперь Иван Викторович как мой чуть-чуть пьяный друг, который на кухне рассказывает мне по-быстрому про python.😅Очень ламповая атмосфера.
Огромное спасибо за каждый урок!
Спасибо прошу не заканчивайте
Большое спасибо за видео-уроки! Живу в небольшом поселке, никаких курсов нет, а в школах стоит по 3 компьютера на весь класс. Свою жизнь хочу связать с программированием. Благодоря вам могу изучать данную сферу. Спасибо!!!
Иван, Ваши уроки очень понятны и познавательны. Мне 42 года, хочу освоить язык питон, продолжаю обучаться. Спасибо за труд!
Здравствуйте. Интересно узнать, как Ваши успехи?
Абсолютно с вами согласен! Мне 48 лет и я тоже начал изучать питон.
Мне 41, коллега))), грызу гранит IT!
Мне 14@@povlian
как успехи у вас?
Огромное человеческое спасибо!) Доходчиво,понятно,без воды и всяких "ааа,эээ,ууу")
Иван Викторович, большое спасибо за ваш труд! Начал с абсолютного полного нуля. Вы очень понятно и доступно объясняете. Очень надеюсь, что будут новые выпуски уроков по Python.
привет, какие прожвижения за год изучения python,?
@@hdgalaxysansara Привет ! какие продвижения за 2 месяца ?
@Денис какие продвижения за 8 дней?
Иван, под каждым видео замечаю комментарии, в которых люди выражают благодарность. Вы помогаете людям образовываться, а некоторых достигать своих целей. Спасибо за ваш труд, продолжайте в том же духе
Благодарен вам за урок. Все максимально доходчиво объяснено !
Спасибо огромное!!!!!Выпускайте видео еще!!!!!Мечтаю быть програмистом, и благодаря вам мечта не пропадает!!!!!
Как далеко продвинулся уже? Я сам только начинаю
Привет, как успехи сейчас?
Дошёл до 14 урока, понял что могу учится, спасибо за доступный курс!
СПАСИБО!!! Урок 13 - полет нормальный.
Спасибо за Ваш труд! 👍
хочу нарезку видео, где Иван Викторович извиняется за свой английский :D
Уважаемый И.В.! Спасибо Вам большое за то, что Вы делаете! Ваши уроки мне очень многое дали и дают!
Вы замечательно преподаёте. Спасибо вам.
Спаси Вам большое. Это лучший вводный курс в Python.
Спасибо комментариям по поводу \b, я его сначала поставила, но ... Сенсей же не ставит - убрала ) А, оказывается - надо. А уроки отличные! Продолжаем грызть )
Спасибо за урок. Круто объясняешь 👍🏻👍🏻
Спасибо за ваши уроки. Посмотрел все, очень впечатлен. Буду ждать от вас еще больше полезных вещей!!! Иногда голова кипит от идей и задач. Можно будет записать урок для поиска информации с сайта или ресурса? На живом примере. Будет очень полезно!
Согласен полностью, на живом было бы и интереснее и продуктивнее
Поддерживаю! Хотелось бы увидеть простой пример парсера, возможно даже во взаимодействии с телеграмм ботом с подробным "разжевыванием" методов (что, откуда, для чего). Многие просто описывают весь процесс, но не объясняют сути (какие методы для чего нужны). Что сводит понимание кода для начинающих к "0". Надеюсь что понятно объяснил свои хотелки ).
Спасибо большое. Жду следующего урока )
Спасибо за уроки) Если можно, еще задачки бы по пройденной теме получать парочку)
Спасибо за 13-й урок!
Иван Викторович, всё шикарно
Всё доступно , но практику ничто не заменит🙂😉
❤вы отличный учитель
Спасибо вам большое, ваши уроки гораздо более понятны, чем тех людей, чьи уроки я смотрел раньше. Понятнои наглядно
очень хороший урок, спасибо
Спасибо, отличный урок
Другой пример применения регулярных выражений (из-за чего самому пришлось учить их, итить-колотить) - есть HTML страница с картинками, и пришлось изменить путь к папке с картинками, так вот там надо через регулярные выражения найти теги с ссылками на картинками и заменить их на новые.
шикарный учитель
ого свежак инфа. спасибо!
Спасибо большое, Ваши видео очень полезные
Спасибо за уроки! Ждем продолжения!
Оооочень интересно🙏🏻😍
Хорошие уроки, респект!
18.07.2022
Я на этом уроке. Собираюсь выучить python (пока не знаю как). Занимаюсь каждый день понемножку.
Кто увидел этот коммент спустя месяцев 6, напишите комментарий и спросите как успехи. Раньше этого времени писать не нужно.
Спасибо
Нууу, и как успехи? Я сам только сел учитса в питоне. )))))))
6 месяцев маловато. Попроси спросить через 10-12 месяцев.
Сам сел учить питон. пришлось параллельно выучить много мелких фреймворков и библиотек. Но когда сел учить учить фласк, то в процессе обучения пришлось выучить SQLite, PostgreSQL, MongoDB (все DB в принципе похожи), далее пришлось выучить HTML и CSS, затем регулярные выражения.... Под выучить я подразумеваю пройти курс, что бы понимать что вообще происходит. Подозреваю что следующим будет Джанго и вот потом я надеюсь что смогу почувствовать себя джуном. Планирую уложиться в 7-9 месяцев, но не факт что уложусь. (стараюсь тратить в день не меньше трех часов, в идеале - 5-6 часов в день)
Я посмотрел весь этот курс, проконспектировал, посмотрел его создание игры и не понимаю что дальше
@@Морковка-ф4щ Нарой простые проекты и разберай их. Прослушал, написал, вчехлил. Следующий проект. Напиши карькулятор через визуализатор, попробуй розчехлить черепашку.
Еще не 6 но все же, как успехи?
Thanks for video) Отлично объясняете , продолжайте дальше
Кстати вы не оставляете ссылку на свой инстаграм в описании
У меня его больше нет
урааааа спасибо за уроки
Спасибо за урок! Всё понятно и ясно!
очень интересный курс
Уроки отличные ! Огромное Вам спасибо!
Как обычно - на высоте
Иван Викторович, спасибо за очень доходчивые уроки. Могли бы вы показать на примере как писать простой софт для пк?!
спасибо очень интересно! 😀😀😀
Классный ролик,просто и понятно!Спасибо!
За урок большое спасибо!
А вот за пример в конце - осуждение. В нем же сразу две ошибки.
Если только это не был хитрый педагогический прием с умышленной ошибкой, чтобы заставить учеников пошевелить извилинами самостоятельно😀
Очень доступно всё объясняется. Хорошие уроки. Не смотря на это возникают у меня начиная с 10, по-моему, урока ошибки, с некоторыми я как-то разобралась в итоге, а с этими двумя уроками так и никак. выходят ошибки. при чем разные в Иде одна, в пч вообще другая, текст один и тот же. Всё таки самой сложновато, если с полного 0, спросить не у кого. гуглить конечно суперский вариант, но времени разобраться в вопросе с помощью гугла очень много уходит. очень. это так, чисто моя боль.
в итоге со всеми ошибками разобралась. но туго без наводок))
Огромный респект и уважуха, Иван Викторович! Тема действительно очень сложная. Если в предыдущих видео больше цеплял незаурядный подход к изложению материала, а примеры могли быть абсолютно любые, то здесь жирный лайк именно за пример. Без него видео было бы бесполезным.
Спасибо за уроки!
СПАСИБО!
ОЧ полезный контент
Для тех, кто забыл методы, не забывайте.
(С) Иван Викторович
Все круто но долго разбирался еще после урока пересматривая пару раз, вроде код написал а вот почему стоит w+ в конце сырой строки, а не например сразу после \b было не понятно, пришлось экспериментировать) в итоге псе понял. Однозначно подписка лайк) Продолжай развивать тему питона не только на 'Мини курс'.
Спасибо большое за урок
Спасибо за урок!
Круто. Спасибо
огромное спасибо за труды
Спасибо большое
Сложно авто немного. Очень интересно было, спасибо вам огромное
Вы хорошо рассказываете, жаль уроков не много)
Будет впоследствии
@@plugar_inf это хорошо)
Крутой ролик
Приветствую. Ты молодец))). Подскажи пожалуйста какой нибудь хороший задачник по Python.
Заменяет любой символ кроме символа новой строки, ага спасибо очень блин понятно
Большое спасибо!
Вопрос к примеру. Если слова, начинающиеся на гласную состоят более, чем из одной буквы, то такой код не пропустит это слово.
Т.Е. если последнее слово "нормально" заменить на "отлично", то программа выведет "тлично". Поправьте, если ошибаюсь.
Это бомба! Пойду парсить Wildberries!))
отдуши братан
a или r, думаю важно то, как поймёт большая часть аудитории. Для меня более понятно, когда Р
Повезло, что смог найти ваши уроки и что на телефон есть pydroid 3
Согласен
Спасибо за прекрасный урок, можно вопрос вы случайно не были участником видео где человек фоткал себя каждый день на протяжении нескольких лет, просто вы на него очень похожи =)
не был)
То чувство когда стало лень писать в ручную маленьким регистром и вспомнил про команду: print("БВГДЖЗЙКЛМНПРСТФХЦЧШЩ".lower())😃
Надо еще!
будет)
очень хорошие уроки
ну всё, я пошёл взламывать пентагон
удачи!
С тобой Бог)
Супер
Почему-то когда нужно ввести не более каких-то повторений, выходит такой результат: re.Match object; span=(0, 0), match=' '> делаю все как вы показали:
import re
s = "gfff5555 __r555jjgfqer433__489HJKKKK7551"
result = re.search(r"\d{,4}", s)
print(result)
харооооооооооооош!!!!!!!!!!!!!!!
👍👍👍
Иван Викторович - объяснять и учить это ваше. Лично мне зашло и уверен что другим тоже.
Очень бы хотелось видеть у вас линейность, то есть курсы. Допустим курс ООП и вы делаете 20-40 видео по ООП, допустим Джанго и делаете курс по джанго.
P.S. я понимаю что это ещё тот геморой. НО поставьте как можно больше рекламы чтобы этот геморой хоть как-то окупился. Если сделаете курсы платными их тоже будут брать я уверен, но не у всех есть деньги для того чтобы их приобрести, особенно у начинающих программистов
я не делаю рекламу) да и времени совсем нет, что могу - стараюсь)
в последнем предложение вместо ( а у меня всё нормально) я составил ( анфиса утром всё нормально) ,в итоге получил (нфиса тром всё нормально) . всё проверил по шагам , результат тот же . Почему то пропустил только буквы , а не целые слова
Небольшой конспект урока
import re
s = 'Привет, как дела. А у меня хорошо.'
result = re.findall(r'[бвгджзклмнпрстфхчшщауАУВГДЖЗКЛМНПРСТФХЧШЩ]\w*', s)
print(result)
#\d - выводит первую цифру
#\D - выводит любой символ, кроме цифры
#\s - выводит любой пробельный символ
#\S - выводит любой не пробельный символ
#\w - выводит любую букву, цифру и символ '_'
#\W - выводит не букву, не цифру и не символ '_',
#а выводит +, -, *, /, {, ', ~
#\b - указывает на начало или конец слова
#\B - не укажет на границы слова,
#слева или справа есть символы
#\...* - ноль или более вхождений после
#первого найденого символа (буква 'п' входит)
#\...+ - один или более вхождений после
#первого найденого символа (буква 'п' НЕ входит)
#так как надо и И БОЛЕЕ символов!
#[] - поиск диапазона символов
#[^;-;] - выводит все кроме ;-;
#...|,,, - выведет или ..., или ,,,
#(зависит от положение слова в строке)
#\...{1} - количество повторения шаблона
#\...{1,9} - количество повторения шаблона
#от скольки до скольки
#\...{1,} - не менее, чем одно повторение
#\...{,1} - не более, чем одно повторение
Храни тебя господь
Здравствуйте! А вы можете снять "уроки Java с нуля"?
здравствуй! вот думаю над этим
11:20 👍
Спасибо большое за Ваш труд.
У меня \b не указывает на конец слова(
круто
Продублировал комент какого то челика, но мне и самому интересно какой мой результат будет через пол года , может вообще забью на это всё, а может стану самым успешным и молодым программистом 😁😁😁😁
24.09.2022
Я на этом уроке. Собираюсь выучить python (пока не знаю как). Занимаюсь каждый день понемножку.
Кто увидел этот коммент спустя месяцев 6, напишите комментарий и спросите как успехи. Раньше этого времени писать не нужно.
Спасибо
Всё понятно, но как это запомнить?)
Ого, я думал что вы уже забросили Python с нуля!
Благодаря вашим комментариям, нет
@@plugar_inf я не понимаю 1 задание по ЕГЭ по информатике. В интернете нет его подробного решения. МОжно я вас скину его в ВК и вы объясните за 5 минут?
Хооооошие уроки киаеф всто панравиеласть
Здравствуйте. В коде
s = 'fskjdbf 43524643 lkgn 34kn238===-34 fnlwnf =3nm'
res = re.search(r'[40-45]', s)
print(res)
выводится первая попавшаяся цифра, а именно "4". Подскажите, можно ли делать диапазон поиска двузначных чисел, к примеру нужно было найти первое попавшееся "43".
Спасибо за ответ, спасибо за курс
Диапазоны не так работают, только 0-9
@@Putu_pererenan спасибо
16:27 Ты забыл про букву Ц :) з. ы. Спасибо за полезную информацию!
даа)
лучший
Здравствуйте, пытался решить задачу на с помощью рег. выр. , нужно было разделить строку по 3 символа напр. "фыв ппа рпр опр". На джава скрипт почти решил
example.replace(/.{3}/g, '$& ') только если вставить переменную в фиг. скобки {n = 3} не работает а с числом работает. На питоне я такое повторить на смог хотя рег. выр. почти такие же (с помощью re.sub() пытался). Можно ли вставлять переменную в фиг. скобки {перем.}, и можно ли это повторить на питоне?
Да, автор слишком сжато рассказал, а как раз одна из самых частых задач - это найти фрагмент и вставить в это место тот же фрагмент, но видоизмененный слегка (например, заменить все богомерзкие даты в американском формате месяц/день, на православные день/месяц). В регулярках для таких замен есть два удобных пути: группировка шаблона и использование ссылок на группы или использование функции, возвращающей в виде строки обработанный фрагмент.
1. Чтобы сделать группу, надо шаблон (или его часть) поместить в круглые скобки: r"(...)" или r"(.{3})" - на примере твоей задачи это шаблон 3х любых символов подряд. Тогда ссылка на такую группу в подставляемой строке будет выглядеть как r"\1", где цифра после слеша - это номер группы (в порядке их следования в шаблоне). Для твоей задачи это будет выглядеть так (пробел заменен на подчеркивание, для удобства чтения):
example = "1233567890"
result = re.sub(r"(...)", r"\1_", example)
2. Использование вместо подставляемой строки собственной функции. Функция должна принимать на вход один параметр, туда будет передан match-объект фрагмента, обрабатывает его и возвращает результат работы в виде строки, которая и будет подставлена:
example = "1233567890"
def transform(m):
return m[0] + "_"
result = re.sub(r".{3}", transform, example)
или для тривиальных случаев, вроде твоего через лямбда-функцию:
example = "1233567890"
result = re.sub(r".{3}", lambda m: m[0] + "_", example)
ЗЫ: в питоне, чтобы передать в строку переменную, одним из простых вариантов будет использование префикса форматированной строки перед raw-строкой. Только необходимо утроить количество фигурных скобок, т.к. фигурная скобка в форматированной строке - это спецсимвол блока вычисления (первая пара скобок нужна чтобы указать формату, что нам нужна фигурная скобка как символ, 3я скобка - сам спецсимвол начала блока вычисляемого выражения):
n = 3
example = "1233567890"
result = re.sub(fr"(.{{{n}}})", r"\1_", example)
Осталось только причесать решение и учесть тот факт, что при длине строки кратной числу n, в результате будет записан лишний пробел в конец строки. Я не знаю полного условия твоей задачи, но считаю, что лишний пробел в итоговой строке был бы неверным результатом работы кода:
result = result if len(example) % n else result[:-1]
Круто, все понятно)только что за проблема в pycharm с модулем re,не работает никак, приходится в неудобном IDLE делать...
А что за ошибку пишет?
@@plugar_inf
Traceback (most recent call last):
File "C:/Users/User/PycharmProjects/pythonProject/re.py", line 1, in
import re. Ну и там в 3 строке еще другая ошибка, но она следствие первой наверно, т.к. первая в первой строке - а там всего два слова - import re -для вызова модуля...
@@radada3660 ну так импортируй модуль re
@@coryphoenixxx8238 легко сказать.
re.findall, когда выводим слова начинающиеся с согласной. если слово начинается с гласной в вашем примере. то он выведет остаток слова в том числе. например у меня в строке было слово "учусь" и мне он вывел "чусь". я что-то не так сделал или надо по другому настраивать фильтр?
Поставь \b, перед тем, как указать диапазон. Так он будет захватывать и гласные, с которых начинается слово.
re.findall(r"\b[Диапазон]\w*", s)
\w* - "*" захватывает предлоги
@@krivolap50 спасибо помог)
почему тогда в коде:
m = '+46а==123'
s = re.search(r"\d{,3}", m)
print(s)
выдает результат:
хотя, как вы говорите, должен найти первые подряд не более 3 цифры?
видимо 0 тоже результат для программы.поправь если ошибаюсь. если прописать re.search(r"\d {,4}\d+", a) выводит как и ожидаешь.
В Вашем примере все слова, начинающиеся с гласных букв, только из них и состоят.
У меня другой пример:
s = "Система должна вывести все уникальные слова, начинающиеся с согласной буквы."
result = re.findall(r"[бвгджзйклмнпрстфхцчшщБВГДЖЗЙКЛМНПРСТФХЦЧШЩ]\w+", s)
print(result)
И слово "уникальные" выводится как "никальные". Но выводится
надо после r" написать \b
А при таком коде у вас вывелось слово "с"? По идее, не должно, если пишете \w+, а не \w*
Видно , что автор данного видео сам параллельно знакомится с регулярными выражениями.
Вместо перечисления всех русских символов можно использовать [а-яА-Я] , либо если на английском языке надо , то [a-zA-Z].
хороший комментарий
Все здорово но это выражение result = re.findall(r'[цкнгшщзхфвпрлджчсмтбЦКНГШЩЗХФВПРЛДЖЧСМТБ]\w+', s) выводит и такие слова как "ОНА" в виде "НА"
все нашел перед скобками \b .... если ставить символ * то же самое выводит