Функция 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
😄As
➖➖➖➖➖➖
🔘 As, as a conjunction, can be used to say that things are happening at the same time. We use 'as' with the background event, or when there are two short events
🔜 As you watch this video, I hope you take notes
🔘 As can introduce the reason for something, especially when it's something that we already know about.
🔜 As it's nice today, I'm going to work outside.
🔘 As can link to the way that something is done.
🔜 Watch me and do it as I do it.
#As👨🏫@America
➖➖➖➖➖➖➖➖➖➖➖➖
🆕 Crypto News @Money
😁 Crypto Game @Egame
🇺🇸 US News @America
🇯🇵 Japan News @Japan
🇦🇪 UAE News @Dubai
▶️ Popular Movies @Videos
😜 Best Funny Video @Funnys
Telegram Telah Mengubah Pendekatannya dalam Bekerja Sama dengan Pihak Berwenang AS
Menurut data baru yang dirilis Telegram, perusahaan pengirim pesan itu telah meningkatkan kerja samanya dengan lembaga penegak hukum Amerika Serikat secara signifikan pada tahun 2024.
• Telegram telah memenuhi 900 permintaan dari otoritas AS untuk tahun 2024, menyediakan data untuk 2.253 pengguna.
• Hanya 14 permintaan yang memengaruhi 108 pengguna yang telah diproses hingga Oktober 2024.
• Jumlah permintaan yang dipenuhi meroket setelah CEO Pavel Durov ditangkap di Prancis pada bulan Agustus 2024.
• Telegram memperbarui kebijakan privasinya pada bulan September, yang mengizinkan pengungkapan alamat IP dan nomor telepon kepada penegak hukum, tetapi hanya jika diwajibkan secara hukum.
Para ahli mengaitkan perubahan kebijakan Telegram dengan meningkatnya tekanan dari regulator di berbagai negara. Sebelumnya, perusahaan tersebut dikenal karena penolakannya untuk bekerja sama dengan pihak berwenang dalam penyediaan data pengguna.
Telegram belum memberikan komentar resmi apa pun tentang peningkatan jumlah permintaan yang terpenuhi saat artikel ini ditulis.
#AS