TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #146 · 16 сеп.

Функция sub в regex может принимать функцию в качестве аргумента repl. 📄 Из документации: If repl is a function, it is called for every non-overlapping occurrence of pattern. The function takes a single match object argument, and returns the replacement string. То есть для каждого совпадения будет вызвана функция для вычисления замены вместо замены на одну и ту же строку для всех совпадений. Иными словами, для замены разных совпадений на разные строки не потребуется запускать re.sub() много раз для каждой строки замены. Достаточно определить функцию, которая вернёт строку для каждого из совпадений. Описание слишком запутанное🤔, давайте лучше рассмотрим на простом примере: Создаем карту замены. То есть какие строки на какие требуется менять. remap = { 'раз': '1', 'два': '2', 'три': '3', 'четыре': '4', 'пять': '5', } Пишем функцию поиска строки для замены. Единственным аргументом будет объект re.Match. Используя данные этого объекта мы вычисляем замену on-the-fly! def get_str(match: re.Match): word = match.group(1) return remap.get(word.lower()) or word Пример текста. text = '''Раз Два Три Четыре Пять Вместе будем мы считать Пять Четыре Три Два Раз Мы считать научим вас ''' Теперь запускаем re.sub и вместо строки замены (repl) подаём имя функции. (Данный паттерн ищет отдельные слова в тексте) >>> print(re.sub(r'(\w+)', get_str, text)) 1 2 3 4 5 Вместе будем мы считать 5 4 3 2 1 Мы считать научим вас Думаю, достаточно наглядно 🤓 #libs#regex

Hashtags

Резултати

Пронајдени 1 слични објави

Пребарај: #freepeoplefirst

当前筛选 #freepeoplefirst清除筛选

Поддержите нашу кампанию в соц. сетях! Мы, антивоенные активисты, правозащитники, все, кто выступает против войны, в свете приближающейся встречи президента США Дональда Трампа и Владимира Путина, опасаемся, что эта встреча может привести к заключению тактического краткосрочного соглашения, которое может нанести непоправимый ущерб Украине, Европе и международной безопасности, а судьбы людей, находящихся в плену, не станут приоритетом соглашения сторон. Мы хотим привлечь внимание к жизни всех и каждого незаконнозадержанного – украинских гражданских, депортированных украинских детей, украинских военнопленных и российских политзаключенных, оказавшихся в заключении за свою антивоенную позицию. Мы приглашаем вас присоединиться к нашему флешмобу, чтобы вернуть внимание к жизням людей и требовать безусловного освобождения всех узников этой войны. Напишите Free people first на ладони вашей руки и выложите фотографию в социальные сети. Присылайте ваши фото в бот t.me/People1rst_bot. ————— Підтримайте нашу кампанію в соцмережах! Ми, антивоєнні активісти, правозахисники та всі, хто виступає проти війни, з огляду на майбутню зустріч президента США Дональда Трампа та Володимира Путіна, переймаємося, що ця зустріч може призвести до укладення тактичної короткострокової угоди, яка може завдати непоправної шкоди Україні, Європі та міжнародній безпеці, а доля полонених не буде пріоритетом для сторін. Ми хочемо привернути увагу до життя кожного й кожної з числа незаконно поневолених — українських цивільних осіб, депортованих українських дітей, українських військовополонених та політичних в'язнів, які були ув'язнені за свою антивоєнну позицію. Ми запрошуємо вас приєднатися до нашого флешмобу, щоб привернути увагу до життя людей і вимагати безумовного звільнення всіх бранців російської війни в Україні. Напишіть Free people first на долоні своєї руки та викладіть фото в соціальні мережі. Надсилайте свої фото в бот t.me/People1rst_bot. ————— Support our campaign in social media We, anti-war activists, human rights defenders, and all those who oppose war, in light of the upcoming meeting between US President Donald Trump and Vladimir Putin, fear that this meeting could lead to a tactical short-term agreement that could cause irreparable damage to Ukraine, Europe and international security, and that the fate of those held captive will not be a priority for the parties to the agreement. We want to draw attention to the lives of each and every one of those illegally detained — Ukrainian civilians, deported Ukrainian children, Ukrainian prisoners of war and Russian political prisoners who have been imprisoned for their anti-war stance. We invite you to join our flashmob to draw attention back to people's lives and demand the unconditional release of all prisoners of this war. Write Free people first on the palm of your hand and post a photo on social media. Send your photo to our bot t.me/People1rst_bot. #People1st#BringPeopleHomeFirst#ЛюдиПревышеВсего#PeopleAreNotNegotiable#PeopleAreKey#ЛюдиKлючові#FreePeopleFirst#FreeThemAll