Функция 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
Аромат дня - Guess 1981 Los Angeles (женский) 💖
Свежими, бодрящими цитрусовыми аккордами мандарина и вкусными фруктовыми нотками душистой груши и ярких ягод красной смородины открывается аромат, сплетаясь в «сердце» композиции с роскошными цветочными оттенками медового пиона, изысканного белого жасмина и чарующим апельсиновым цветом ✨
Восточные ноты нежной пудровой ванили, сладкого пралине, чувственного мускуса и элегантные древесные оттенки сливочно-хвойного кедра завершают великолепный женский парфюм Guess 1981 Los Angeles Woman.
СТОИМОСТЬ💵
Guess 1981 Los Angeles, 100 мл – 2 850 руб
#ЖенскиеАроматы
#Guess
⚫️ Больше ароматов Guess и других брендов по запросу
⚫️ Для заказа и по всем вопросам - @originalproduct_new
🎙 INVEST REPORT ANNOUNCE GUESSIT
⚖️ INVEST REPORT project rating 8/10 ⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️
GUESSIT is an exciting, community-driven game where players buy credits to guess a numeric code. The goal? Crack the safe and win the ever-growing prize pool! Every attempt grows the pot and raises the stakes. But there’s more: an interactive AI Agent guards the safe, securely generates the code, and helps players strategize without revealing the solution. This isn't just a game—it’s a social phenomenon where players come together to share tips, analyze guesses, and compete for glory.
One of the better launches I've seen under these market conditions. Over $2m in volume already.
Project sit now at 8M MC floor and team is waiting when to launch marketing.
Whats more to come?
- Game about to be dropped
- Marketing is about to kick in
- Game viral marketing through TIKTOK
- 2.5X Leverage trading
👉CA: 9PHyv24rtL8RKSnsniZ3G5WwKrChCiDAuMvW3earGr9g
☑️ Follow GUESSIT:
Website: https://guessitsol.ai/
X: https://x.com/guessitonsol
Telegram: https://guessitsol.ai/
TIKTOK: https://www.tiktok.com/@guessitsol
#GUESS#AI#Game
I guessed this word in 3/6 tries.
✏️GRUFF
📅 29.03.2026
🟩🟩⬜️🟧⬜️
⬜️🟩🟧⬜️⬜️
🟩🟩🟩🟩🟩
⬜️⬜️⬜️⬜️⬜️
⬜️⬜️⬜️⬜️⬜️
⬜️⬜️⬜️⬜️⬜️
Reward: 160 🌟
Can you guess this word❓
PLAY NOW 🔜@DailyPuzzles
#wordle#DailyPuzzles#daily#guess
I guessed this word in 4/6 tries.
✏️ABUSE
📅 27.03.2026
⬜️⬜️⬜️🟧⬜️
⬜️⬜️🟧⬜️⬜️
⬜️🟩🟩⬜️⬜️
🟩🟩🟩🟩🟩
⬜️⬜️⬜️⬜️⬜️
⬜️⬜️⬜️⬜️⬜️
Reward: 120 🌟
Can you guess this word❓
PLAY NOW 🔜@DailyPuzzles
#wordle#DailyPuzzles#daily#guess
I guessed this word in 5/6 tries.
✏️DALLY
📅 24.03.2026
⬜️⬜️⬜️⬜️⬜️
⬜️⬜️⬜️⬜️⬜️
⬜️🟧🟧⬜️⬜️
🟧🟩⬜️⬜️⬜️
🟩🟩🟩🟩🟩
⬜️⬜️⬜️⬜️⬜️
Reward: 100 🌟
Can you guess this word❓
PLAY NOW 🔜@DailyPuzzles
#wordle#DailyPuzzles#daily#guess
I guessed this word in 6/6 tries
✏️SLINK
📅 20.03.2026
⬜️⬜️⬜️⬜️🟧
⬜️⬜️⬜️⬜️⬜️
🟧⬜️⬜️⬜️🟧
🟩🟩🟧🟧⬜️
🟩🟩🟩🟩⬜️
🟩🟩🟩🟩🟩
Reward: 100 🌟
Can you guess this word❓
https://t.me/DailyPuzzlesBot?startapp
#wordle#DailyPuzzles#daily#guess
I guessed this word in 3/6 tries
✏️ENEMY
📅 17.03.2026
🟩⬜️🟩⬜️⬜️
⬜️🟧⬜️⬜️🟧
🟩🟩🟩🟩🟩
⬜️⬜️⬜️⬜️⬜️
⬜️⬜️⬜️⬜️⬜️
⬜️⬜️⬜️⬜️⬜️
Reward: 160 🌟
Can you guess this word❓
https://t.me/DailyPuzzlesBot?startapp
#wordle#DailyPuzzles#daily#guess
I guessed this word in 5/6 tries
✏️CACHE
📅 16.03.2026
⬜️⬜️⬜️🟩⬜️
⬜️⬜️⬜️🟩⬜️
🟩⬜️⬜️🟩⬜️
🟩⬜️⬜️⬜️🟧
🟩🟩🟩🟩🟩
⬜️⬜️⬜️⬜️⬜️
Reward: 120 🌟
Can you guess this word❓
https://t.me/DailyPuzzlesBot?startapp
#wordle#DailyPuzzles#daily#guess
I guessed this word in 5/6 tries
✏️LABEL
📅 14.03.2026
⬜️⬜️⬜️🟩⬜️
⬜️⬜️⬜️🟩⬜️
🟩⬜️⬜️🟩⬜️
🟩⬜️⬜️⬜️🟧
🟩🟩🟩🟩🟩
⬜️⬜️⬜️⬜️⬜️
Reward: 120 🌟
Can you guess this word❓
https://t.me/DailyPuzzlesBot?startapp
#wordle#DailyPuzzles#daily#guess
I guessed this word in 5/6 tries
✏️SILLY
📅 13.03.2026
⬜️⬜️🟩🟩🟩
⬜️⬜️🟩🟩🟩
⬜️🟩🟩🟩🟩
⬜️🟩🟩🟩🟩
🟩🟩🟩🟩🟩
⬜️⬜️⬜️⬜️⬜️
Reward: 120 🌟
Can you guess this word❓
https://t.me/DailyPuzzlesBot?startapp
#wordle#DailyPuzzles#daily#guess
I guessed this word in 6/6 tries
✏️CAMEL
📅 12.03.2026
⬜️⬜️⬜️🟩⬜️
⬜️⬜️⬜️🟩⬜️
⬜️⬜️⬜️🟩⬜️
⬜️⬜️⬜️🟩⬜️
🟩⬜️⬜️🟩⬜️
🟩🟩🟩🟩🟩
Reward: 100 🌟
Can you guess this word❓
https://t.me/DailyPuzzlesBot?startapp
#wordle#DailyPuzzles#daily#guess