Функция 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
⌨️ Microsoft Word'da matnni tahrirlash uchun mo‘ljallangan klavishlar birikmalari (2-qism)
👉🏻 Ushbu ro‘yxatning 1-qismi.
• CTRL + B — belgilangan matn shriftini qalin qilish / oddiy holatiga qaytarish;
• CTRL + I — belgilangan matn shriftini kursiv qilish / oddiy holatiga qaytarish;
• CTRL + U — belgilangan matn ostiga chizish / oddiy holatiga qaytarish;
• CTRL + D — Шрифт muloqot oynasini ekranga chaqirish;
• CTRL + Q — abzatsga nisbatan qo‘llanilgan formatni o‘chirish;
• CTRL + M — chap tomondan otstup qo‘shish;
• CTRL + SHIFT + M — chap tomondan otstupni olib tashlash;
• CTRL + PROBEL — belgilangan matn fragmentidan, unga nisbatan qo‘llanilgan formatni o‘chirish (matn dastur sozlamasida qoida bo‘yicha o‘rnatilgan shrift turi va o‘lchamiga qaytadi).
• CTRL + SHIFT + A — barcha harflarni katta (agar allaqachon katta bo‘lsa, u holda kichik) ko‘rinishga keltirish;
• CTRL + SHIFT + C (CTRL + SHIFT + V) — formatlarni nusxalash / boshqa matnga nisbatan qo‘llash;
• CTRL + SHIFT + D — matn ostiga ikkitalik chiziq chizish / bekor qilish;
• CTRL + SHIFT + H — belgilangan matnni berkitish / ko‘rsatish (bunda berkitilgan matn chop etish vaqtida ko‘rinmaydi, Главная menyu satrida chop etilmaydigan belgilarni ko‘rsatish uchun xizmat qiluvchi ¶ tugmasi ustiga bosilgan taqdirda ko‘rinadi);
• CTRL + SHIFT + K — barcha harflarni kichik harf o‘lchamidagi katta harflar ko‘rinishiga keltirish / bekor qilish;
• CTRL + SHIFT + W — so‘zlar ostiga probellarni hisobga olmagan holda chizish;
• CTRL + T (CTRL + SHIFT + T) — Выступ qo‘shish / olib tashlash (abzatslarga nisbatan qo‘llaniladi);
• SHIFT + F1 — dastur oynasining o‘ng tomonida ochiluvchi matnni formatlash panelini faollashtirish / berkitish.
🤔Kanalimiz sizga kerakli bilimlarni ulashyabdi deb hisoblaysizmi?
👉🏼Birinchi raqamli windows blog | @itspecuz | #hotkeys
⚡️Excel dasturida tezkor tugmalar
Ctrl + Delete Tanlangan matn o'chiriladi.
Ctrl + Alt + V Maxsus qo'shimchalar paydo bo'ladi
Ctrl + belgisi + Belgilangan ustunlar va satrlar qo'shiladi.
Ctrl + belgisi - Tanlangan ustunlar yoki satrlar o'chiriladi.
Ctrl + D Pastki qator tanlangan katakchadagi ma'lumotlar bilan to'ldiriladi
Ctrl + R O'ng tarafdagi diapazon tanlangan uyaning ma'lumotlari bilan to'ldiriladi.
Ctrl + H Search-Replace oynasi paydo bo'ladi.
Ctrl + Z So'nggi harakatlar bekor qilinadi.
Ctrl + Y So'nggi harakat takrorlandi
Ctrl + 1 Hujayra formatini tahrirlash oynasi ochiladi.
Ctrl + B tugmalari Matn qalin qilib ko'rsatilgan
Ctrl + I Kursiv o'rnatish
Ctrl + U Matn tagiga chizilgan.
Ctrl + 5 Belgilangan matn ajratib ko'rsatilgan.
Ctrl + Enter Barcha kataklar tanlangan.
Ctrl +; Sana ko'rsatilgan
Ctrl + Shift +; Vaqt muhrlandi
Ctrl + Backspace Kursor oldingi katakka qaytadi.
Ctrl + Bo'sh joy Ustun ajralib turadi
Ctrl + A Ko'rinadigan narsalar ta'kidlangan.
Ctrl + End Kursor oxirgi katakka joylashtirilgan.
Ctrl + Shift + End Oxirgi katak ajratilgan
Ctrl + strelkalar Kursor ustunning chekkalari bo'ylab o'qlar yo'nalishi bo'yicha harakatlanadi.
Ctrl + N Yangi bo'sh kitob paydo bo'ladi
Ctrl + S Hujjat saqlandi
Ctrl + O Kerakli faylni qidirish oynasi ochiladi.
Ctrl + L tugmalarini bosing Smart stol rejimi boshlanadi
Ctrl + F2 Ko'rib chiqish kiritilgan
Ctrl + K Giperhavola kiritilgan
Ctrl + F3 Ismlar menejeri ishga tushirilad
K.B: Hammasini yod olish qiyin lekin doimiy foydalanish ancha ishni tezlashtiradi!
👉🏼Birinchi raqamli windows blog | #hotkeys
⚡️Excel dasturida tezkor tugmalar
Ctrl + Delete Tanlangan matn o'chiriladi.
Ctrl + Alt + V Maxsus qo'shimchalar paydo bo'ladi
Ctrl + belgisi + Belgilangan ustunlar va satrlar qo'shiladi.
Ctrl + belgisi - Tanlangan ustunlar yoki satrlar o'chiriladi.
Ctrl + D Pastki qator tanlangan katakchadagi ma'lumotlar bilan to'ldiriladi
Ctrl + R O'ng tarafdagi diapazon tanlangan uyaning ma'lumotlari bilan to'ldiriladi.
Ctrl + H Search-Replace oynasi paydo bo'ladi.
Ctrl + Z So'nggi harakatlar bekor qilinadi.
Ctrl + Y So'nggi harakat takrorlandi
Ctrl + 1 Hujayra formatini tahrirlash oynasi ochiladi.
Ctrl + B tugmalari Matn qalin qilib ko'rsatilgan
Ctrl + I Kursiv o'rnatish
Ctrl + U Matn tagiga chizilgan.
Ctrl + 5 Belgilangan matn ajratib ko'rsatilgan.
Ctrl + Enter Barcha kataklar tanlangan.
Ctrl +; Sana ko'rsatilgan
Ctrl + Shift +; Vaqt muhrlandi
Ctrl + Backspace Kursor oldingi katakka qaytadi.
Ctrl + Bo'sh joy Ustun ajralib turadi
Ctrl + A Ko'rinadigan narsalar ta'kidlangan.
Ctrl + End Kursor oxirgi katakka joylashtirilgan.
Ctrl + Shift + End Oxirgi katak ajratilgan
Ctrl + strelkalar Kursor ustunning chekkalari bo'ylab o'qlar yo'nalishi bo'yicha harakatlanadi.
Ctrl + N Yangi bo'sh kitob paydo bo'ladi
Ctrl + S Hujjat saqlandi
Ctrl + O Kerakli faylni qidirish oynasi ochiladi.
Ctrl + L tugmalarini bosing Smart stol rejimi boshlanadi
Ctrl + F2 Ko'rib chiqish kiritilgan
Ctrl + K Giperhavola kiritilgan
Ctrl + F3 Ismlar menejeri ishga tushirilad
K.B: Hammasini yod olish qiyin lekin doimiy foydalanish ancha ishni tezlashtiradi!
👉🏼Birinchi raqamli windows blog | #hotkeys
⌨️ Microsoft Word'da matnni tahrirlash uchun mo‘ljallangan klavishlar birikmalari (2-qism)
👉🏻 Ushbu ro‘yxatning 1-qismi.
• CTRL + B — belgilangan matn shriftini qalin qilish / oddiy holatiga qaytarish;
• CTRL + I — belgilangan matn shriftini kursiv qilish / oddiy holatiga qaytarish;
• CTRL + U — belgilangan matn ostiga chizish / oddiy holatiga qaytarish;
• CTRL + D — Шрифт muloqot oynasini ekranga chaqirish;
• CTRL + Q — abzatsga nisbatan qo‘llanilgan formatni o‘chirish;
• CTRL + M — chap tomondan otstup qo‘shish;
• CTRL + SHIFT + M — chap tomondan otstupni olib tashlash;
• CTRL + PROBEL — belgilangan matn fragmentidan, unga nisbatan qo‘llanilgan formatni o‘chirish (matn dastur sozlamasida qoida bo‘yicha o‘rnatilgan shrift turi va o‘lchamiga qaytadi).
• CTRL + SHIFT + A — barcha harflarni katta (agar allaqachon katta bo‘lsa, u holda kichik) ko‘rinishga keltirish;
• CTRL + SHIFT + C (CTRL + SHIFT + V) — formatlarni nusxalash / boshqa matnga nisbatan qo‘llash;
• CTRL + SHIFT + D — matn ostiga ikkitalik chiziq chizish / bekor qilish;
• CTRL + SHIFT + H — belgilangan matnni berkitish / ko‘rsatish (bunda berkitilgan matn chop etish vaqtida ko‘rinmaydi, Главная menyu satrida chop etilmaydigan belgilarni ko‘rsatish uchun xizmat qiluvchi ¶ tugmasi ustiga bosilgan taqdirda ko‘rinadi);
• CTRL + SHIFT + K — barcha harflarni kichik harf o‘lchamidagi katta harflar ko‘rinishiga keltirish / bekor qilish;
• CTRL + SHIFT + W — so‘zlar ostiga probellarni hisobga olmagan holda chizish;
• CTRL + T (CTRL + SHIFT + T) — Выступ qo‘shish / olib tashlash (abzatslarga nisbatan qo‘llaniladi);
• SHIFT + F1 — dastur oynasining o‘ng tomonida ochiluvchi matnni formatlash panelini faollashtirish / berkitish.
🤔Kanalimiz sizga kerakli bilimlarni ulashyabdi deb hisoblaysizmi?
👉🏼Birinchi raqamli windows blog | @itspecuz | #hotkeys
Har kuni kerak bo'ladigan kombinatsiyalar
#hotkeys
🔸F2 - belgilangan fayl yoki papkani nomini tahrirlash (переименовать) imkonini beradi.
🔸Alt + Enter - belgilangan fayl yoki papkani xususiyatlari (свойства) ni ochadi.
🔸Ctrl + Shift + Esc - "Диспетчер задач" ni ochishga imkon beradi. U yerdan "injiq" dasturlarga "zarba" berish mumkin.
🤔Siz qaysi kombinatsiyalardan juda ko'p foydalanasiz?
💻 Kompyuterni birga o'rganamiz ⤵️
Telegram I YouTube I Insta I TikTok