Функция 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
⭐️#US30: Bulls Will Push Higher
It is essential that we apply multitimeframe technical analysis and there is no better example of why that is the case than the current 📈US30 chart which, if analyzed properly, clearly points in the upward direction.
#US30 SELL full Target done ☑️
Patience is a key 🔑 to success 🔥💰🤑🤑
Both Trade 700+Pips done 💯✅🚀🚀
VIP SIGNAL ON FIRE 🔥 always trust me guys and I will give you the best 💯.
Live Indices News Today – US30, NASDAQ, NAS100 & GER40 | March 23, 2026 https://www.fxpremiere.com/live-indices-news-today-us30-nasdaq-nas100-ger40-march-23-2026/#US30
🔅US30 Will Fall! Sell!📉
- - - - - - - -
Here is our detailed technical review for 📊US30.
The market is approaching a significant resistance area 49,454.8.
Due to the fact that we see a positive bearish reaction from the underlined area, I strongly believe that sellers will manage to push the price all the way down to 47,742.6 level.
- - - - - - - -
#freesignal#us30
- - - - - - - -
🌐Free Copy Trading: Link
📲Join VIP via Bot:Link
❓Official Contact:@signalprovidercontact
🔅US30 Is Bullish! Buy!📈
- - - - - - -
Here is our detailed technical review for 📊US30.
The market is testing a major horizontal structure 45,691.7.
Taking into consideration the structure & trend analysis, I believe that the market will reach 46,550.5 level soon.
- - - - - - - -
#freesignal#us30
- - - - - - - -
🌐Free Copy Trading: Link
📲Join VIP via Bot:Link
❓Official Contact:@signalprovidercontact
🔅US30 Will Grow! Long!📈
- - - - - - -
Here is our detailed technical review for 📊US30.
The market is trading around a solid horizontal structure 48,884.2.
The above observations make me that the market will inevitably achieve 49,692.2 level.
- - - - - - - -
#freesignal#us30
- - - - - - - -
🌐Free Copy Trading: Link
📲Join VIP via Bot:Link
❓Official Contact:@signalprovidercontact
🔅US30 Is Very Bearish! Short!📉
- - - - - - - -
Here is our detailed technical review for 📊US30.
The market is trading around a solid horizontal structure 50,088.7.
The above observations make me that the market will inevitably achieve 49,623.5 level.
- - - - - - - -
#freesignal#us30
- - - - - - - -
🌐Free Copy Trading: Link
📲Join VIP via Bot:Link
❓Official Contact:@signalprovidercontact
🔅US30 Will Move Lower! Sell!📉
- - - - - - - -
Take a look at our analysis for 📊US30.
The market is approaching a significant resistance area 49,481.0.
Due to the fact that we see a positive bearish reaction from the underlined area, I strongly believe that sellers will manage to push the price all the way down to 49,076.8 level.
- - - - - - - -
#freesignal#us30
- - - - - - - -
🌐Free Copy Trading: Link
📲Join VIP via Bot:Link
❓Official Contact:@signalprovidercontact
🔅US30 Is Bearish! Sell!📉
- - - - - - - -
Here is our detailed technical review for 📊US30.
The market is on a crucial zone of supply 49,331.6.
The above-mentioned technicals clearly indicate the dominance of sellers on the market. I recommend shorting the instrument, aiming at 48,745.5 level.
- - - - - - - -
#freesignal#us30
- - - - - - - -
🌐Free Copy Trading: Link
📲Join VIP via Bot:Link
❓Official Contact:@signalprovidercontact