Функция 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
⚔️ Битва технологий: Диоксид хлора vs Гипохлорит натрия
В мире водоочистки есть два чемпиона, каждый со своим стилем и характером:
🔥 Диоксид хлора (ClO₂) — точный, мощный и бескомпромиссный. Он действует как хирург: уничтожает бактерии, вирусы и биоплёнки, не оставляя шанса побочным продуктам. Его сила — селективность и чистота. Но за эту мощь приходится платить: сложные установки, строгий контроль и высокая ответственность.
💧 Гипохлорит натрия (NaOCl) — доступный, надёжный и привычный. Его можно получить прямо из соли и воды, он прост в эксплуатации и дешевле в генерации. Но у него есть слабость: нестабильность при хранении и склонность к образованию хлорорганики. Он напоминает «универсального солдата» — эффективен, но не всегда избирателен.
⚖️ Кто победит?
- В масштабных проектах, где важна экология и минимизация побочных эффектов, лидер — Диоксид хлора.
- В локальных системах и бюджетных решениях — Гипохлорит натрия остаётся фаворитом.
💬 Вопрос к вам: если бы вы выбирали технологию для модернизации национальной инфраструктуры, сделали бы ставку на силу и селективность ClO₂ или на простоту и доступность NaOCl?
#WaterTreatment#Innovation#Kazakhstan#EcoTech#ChemicalEngineering
МЕНДЕЛЕЕВСКИЙ ФИЛИАЛ НА МЕЖДУНАРОДНОМ ФОРУМЕ «WOMEN IN STEM – 2026»
🖥 14–17 февраля 2026 года профессорско-преподавательский состав, одарённые студенты Филиала, а также участники проекта «Менделеевская школа» приняли активное участие в международном научном форуме «Women in STEM – 2026», проходившем в г. Ташкенте в рамках научной недели, посвящённой Международному дню женщин и девочек в науке.
✈️ Форум был организован при поддержке Министерства высшего образования, науки и инноваций Республики Узбекистан, Ташкентского химико-технологического института, АО «Узкимёсаноат», Комитета по делам семьи и женщин, Чирчикского химико-индустриального технопарка, фонда «Ziyo Forum», а также ведущих международных партнёров — Integral University (Индия), South-West University “Neofit Rilski” (Болгария) и Международного союза теоретической и прикладной химии (IUPAC).
✅ Представители Менделеевского филиала выступили с научными докладами, провели интерактивные квизы, а также организовали зрелищные демонстрации химических реакций, вызвавшие большой интерес у участников форума.
🔬 Одарённые студенты и участники проекта «Менделеевская школа» продемонстрировали современные химические эксперименты, наглядно отражающие высокий уровень подготовки, научный потенциал и практическую направленность инженерного образования Филиала.
👍 Участие в форуме стало важным шагом в укреплении международного научного сотрудничества, популяризации STEM-образования и продвижении Менделеевского филиала как центра подготовки инженеров нового поколения.
🚀 Коллектив Филиала продолжит активное участие в научных и международных мероприятиях, формируя будущее науки и технологий.
________________________________________
#MendeleevTashkent; #WomenInSTEM; #STEMUzbekistan; #STEMEducation; #ChemicalEngineering; #MendeleevSchool; #EngineeringEducation; #ScienceAndInnovation; #UzbekistanScience; #МенделеевскийФилиал; #МенделеевскаяШкола
#ИнженерыБудущего; #РоссийскийУчительЗаРубежом; #Минпросвещения; #ЦМС; #РусскийЯзык
Web-site | Telegram | Instagram | Facebook