Функция 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
“Asaxiy Books” очилганда стратегиямизнинг бешинчи муҳим қисми ўзбек адабиётида янги номлар кашф этиш, муҳим китобларни чиқариш эди.
Лекин, айнан шу қисм осон кетмади.
Жавлон Жовлиевнинг “Қўрқма” романи бу йўналишда ягона, лекин ўта муваффақиятли китоб бўлди. Китоб умумий ҳисобда 100 минг нусхадан ошди ва ҳали ҳам ўз ўқувчиларини топмоқда. “Қўрқма”дан бери ўзбек адабиётидан бошқа китоб чиқмади.
Ўтган йили Халқ банки билан ҳамкорлик билвосита нашриёт ичида янгиликлар қилиш имконини очди. Натижада, ўзбек адабиёти редакциясини туздик. Ҳозирда янги асарлар ва ёзувчилар қидирмоқдамиз.
Яхши хабарим, “Қўрқма”дан бери ўзбек адабиётидан илк китобимиз чиқди. Китоб муаллифи, 15 ёшли Диёра Муродхўжаева. Ёш қизимиз ўзи бошдан кечирмаган бўлса-да, аутизмга чалинган қизалоқ ҳақида жуда ажойиб асар ёзган. Илк маротаба ўқиганда қойил қолган эдим.
Китобни Диёранинг илтимосига кўра ҳам ўзбек, ҳам рус тилларида чиқардик. Китобни болалар ҳам, катталар ҳам ўқиши фойдали ва қизиқарли деб ўйлайман.
“Asaxiy Books” жамоамизни бўлса яна бир катта қадам билан табриклайман.
Китобни харид қилиш: https://asaxiy.uz/product/diyora-murodhodjaeva-hrupkaya-melodiya
Бир томондан ўзбек адабиётидан янги қизиқарли китоб чиқарганимиздан хурсанд бўлсам, бошқа томондан муаллифнинг ёшлиши хурсанд қилади.
#kitob
@allaevuzb
#kitob
👤 Ahadquli Xolmuhammad o'g'li
📔 "Savdogarlar ustozi yoxud haqiqiy omad kaliti"
Barcha o'quvchilarga ushbu risolani o'qishni tavsiya etamiz.
@ITCenter_Yaypan - foydasi tegadi albatta
#kitob
📌Kanalda berilgan pdf kitoblar ro'yxati:
✔️O‘zbekiston joy nomlarining izohli lug‘ati
✔️O‘zbek tili sinonimlarining katta izohli lug‘ati I jildi
✔️O‘zbek tili sinonimlarining katta izohli lug‘ati II jildi
✔️O'zbek tili izohli lug‘ati
✔️Axborot texnologiyalari izohli lug‘ati
✔️Bank-moliya terminlarining oʻzbek tilidagi izohli lug‘ati
✔️Diplomatik terminlar izohli lug‘ati
✔️Kimyo atamalari izohli lug‘ati
✔️O‘zbek tili frazeologik lu‘ati
✔️Yuridik terminlarning ruscha-o‘zbekcha lug‘ati
✔️O‘zbek tilining o‘quv imlo lug‘ati
✔️O‘zbek tilining orfoepik lug‘ati
✔️Ijtimoiy-siyosiy terminlarning qisqacha izohli lug‘ati
✔️O‘zbek harbiy terminologiyasi o‘quv qo‘llanmasi
✔️Tibbiy atamalar lug‘ati
✔️O‘zbek tili sinonimlarining izohli lug‘ati
🌐Sayt
✈️Telegram
✅Murojaat
♾Muhokama
#kitob
⬇️ O‘zbek harbiy terminologiyasi o‘quv qo‘llanmasini yuklab oling.
🇺🇿 Bu manba Sizga 14-yanvar – Vatan himoyachilari kuni arafasida kerak bo‘lishi mumkin.
🚀 Foydali kitoblarni boshqalarga ham ulashing!
Sayt | Telegram | Murojaat | Muhokama
#kitob
📥Ijtimoiy-siyosiy terminlarning qisqacha izohli lug‘atini yuklab oling.
📲 Foydali kitoblarni boshqalarga ham ulashing!
Sayt | Telegram | Murojaat | Muhokama
#kitob
📥 Yuridik terminlarning ruscha-o‘zbekcha lug‘atini yuklab oling.
🇺🇿 Bu manba Sizga 8-dekabr – Konstitutsiya kuni arafasida kerak bo‘lishi mumkin.
📲 Foydali kitoblarni boshqalarga ham ulashing!
Sayt | Telegram | Murojaat | Muhokama