Функция 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
[WORLD ANTIBIOTICS AWARENESS WEEK]
•
https://www.instagram.com/p/BqPPFTSAf3p/?utm_source=ig_share_sheet&igshid=1kt9weq66nmep
•
Sobat GeMa CerMat,
Masih dalam rangka Pekan Peduli Antibiotik Dunia tanggal 12-18 November niiih...
•
Yuukk... ikut waspada dengan semakin banyaknya bakteri yang kebal (resisten) dengan antibiotik. Bakteri resisten adalah bakteri yang kebal dengan antibiotik yang dimaksudkan untuk membunuhnya. Resistensi ini sudah menjadi ancaman besar di seluruh dunia. Berbagai laboratorium mengupayakan agar bakteri resisten ditemukan.
•
Bakteri resisten ini menyebar dengan cepat karena kemampuannya membelah diri dan berpindah. Penyebabnya banyak. Salah satunya adalah penggunaan antibiotik secara tidak tepat. Bukan hanya pada manusia, tapi juga pada hewan ternak dan perikanan. •
Kita semua bisa ikut mencegah terjadinya penyebaran bakteri resisten ini. Bisa dengan cara:
- Meningkatkan kesadaran dan pengetahuan tentang bahaya resistensi Antimikroba dan penggunaan antibiotik bijak.
- Mencegah terjadinya infeksi dengan sanitasi dan higienis
- Menggunakan antibiotik secara bijak
•
Bagaimana kita bisa menggunakan antibiotik dengan bijak?
Ada 5T dalam GeMa CerMat, yaitu:
1. TIDAK membeli antibiotik TANPA RESEP DOKTER
2. TIDAK menggunakan antibiotik SELAIN untuk INFEKSI BAKTERI
3. TIDAK MENYIMPAN antibiotik di rumah untuk PERSEDIAAN.
4. TIDAK MEMBERI antibiotik SISA pada orang lain.
5. TANYAKAN pada APOTEKER, informasi tentang antibiotik.
•
Mari ikut mencegah resistensi terhadap antibiotik, bijaklah dalam menggunakan antibiotik.
•
Musik latar:
"Resistensi Antibiotik", ciptaan Umy Qalsum, S.Si, Apt, Kasi Kefarmasian, Dinkes Kab. Polewali Mandar, Sulawesi Barat Penyanyi: Tim AoC GeMa CerMat Kab. Polman, Sulbar.
•
Informasi ini disiarkan oleh Direktorat Pelayanan Kefarmasian, Ditjen Kefarmasian dan Alat Kesehatan Kementerian Kesehatan RI dalam rangka Gerakan Masyarakat Cerdas Menggunakan Obat (GeMa CerMat). Fanpage FB: Cerdas Gunakan Obat
Twitter & IG: @gemacermat
Telegram: http://t.me/cerdasgunakanobat , http://t.me/diskusiobat
Email: [email protected]
•
#antibioticsawarenessweek#antimicrobialresistance#bijakantibiotik#rationaluseofmedicine#gemacermat#gemacermatwaaw#waaw2018
[WORLD ANTIBIOTICS AWARENESS WEEK]
•
https://www.instagram.com/p/BqH0BYlgeRu/?utm_source=ig_share_sheet&igshid=1367llqjaqrti
•
Sobat GeMa CerMat,
Tahukah kamu?
Tanggal 12 - 18 November 2018 adalah "Pekan Peduli Antibiotik Dunia" (World Antibiotics Awareness Week).
•
Kampanye kesadaran dan kepedulian antibiotik ini diadakan di seluruh dunia pada minggu ketiga November setiap tahun. Mengapa kampanye ini perlu? Karena kekebalan (resistensi) bakteri terhadap antibiotik telah menjadi ancaman serius di seluruh dunia.
•
Secara global, pada tahun 2017 ada 558.000 orang yang menderita penyakit tuberkulosa (TB) Resisten Obat dan 23.000 di antaranya berada di Indonesia. Resistensi obat ini mulai menyulitkan upaya global memerangi penyakit HIV dan malaria.(WHO)
•
Kematian akibat resistensi diperkirakan mencapai 10 jt jiwa/tahun pada tahun 2050. Bahkan dapat melebihi kematian akibat kanker. Ditambah lagi beban biaya akibat kematian dan penyakit yang ditimbulkan.
•
Mari ikut mendukung upaya pengendalian resistensi antimikroba. Mulailah menggunakan antibiotik secara bijak. Kalau bukan kita, siapa lagi? Kalau bukan sekarang, kapan lagi?
•
Informasi ini disiarkan oleh Direktorat Pelayanan Kefarmasian, Ditjen Kefarmasian dan Alat Kesehatan Kementerian Kesehatan RI dalam rangka Gerakan Masyarakat Cerdas Menggunakan Obat (GeMa CerMat).
Fanpage FB: Cerdas Gunakan Obat
Twitter & IG: @gemacermat
Telegram: http://t.me/cerdasgunakanobat , http://t.me/diskusiobat
Email: [email protected]
•
#antibioticsawarenessweek#antimicrobialresistance#bijakantibiotik#rationaluseofmedicine#gemacermat#gemacermatwaaw#waaw2018
https://www.instagram.com/p/CAwqfs_paSN9_o4zDFEFwYTbeYwi49pAPcM9sw0/?igshid=h6p2jarpdnmz
,
Penggunaan Antibiotik seperti sudah menjadi hal lazim dalam pelayanan kesehatan.
Tapi apakah Bapak/Ibu mengerti bahwa tidak semua penyakit membutuhkan Antibiotik?
Terutama pada anak, memberikan Antibiotik BUKANLAH solusi dari semua masalah kesehatan.
Bukannya sembuh, anak malahan mendapatkan bahaya di kemudian hari. Apa saja bahayanya menggunakan Antibiotik secara tidak tepat (Irrasional)?
.
.
Yuk ikutan Siaran Live Instagram bersama dr. Lucky Yoga, SpA dan Kak apt. Erie Gusnellyanti, MKM (Nelly), membahas "Bahaya Penggunaan Antibiotik Irrasional pada Anak".
.
Minggu, 31 Mei 2020, 15.30 - 16.30 WIB
Di akun Instagram @dr.lucky.sp.a dan @nellysyukri
Follow dulu akunnya yaaa..
Jangan lupa dibagikan informasi ini sebanyak-sebanyaknya.
.
.
#antibiotik#bijakantibiotik#antibiotikbijak#saveantibiotic#antibiotikrasional#antimicrobialresistance#resistensiantimikroba
#rationaluseofmedicine
#apotekerindonesia
#dokterspesialisanak
#cerdasgunakanobat#gemacermat