Функция 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
#блокчейн#erc20#trc20#база
В чем разница между ERC20 и TRC20?
ERC20 и TRC20 - это два различных стандарта токенов, которые основаны на разных технологиях и функционируют на блокчейн-платформа Ethereum 🥉 и TRON 🥉 соответственно.
❗️Ключевые различия между ERC20 и TRC20:
✔️Сеть: токены ERC-20 созданы в сети Ethereum (ETH), а токены TRC-20 созданы в сети Tron (TRX).
✔️Стиль адреса: Токены ERC-20 используют адреса Ethereum, начинающиеся с «0x», например 0xbd9e..., в то время как токены TRC-20 используют адреса Tron, которые обычно начинаются с «T», например T7zP19...
✔️Скорость передачи: токены TRC-20 обычно имеют более высокую скорость передачи, чем токены ERC-20, потому что в сети Tron более высокая скорость транзакций в секунду (TPS).
✔️Комиссии: токены TRC-20 имеют более низкую комиссию, потому что блокчейн Tron использует другой механизм консенсуса, чем Ethereum, что делает транзакции дешевле.
✔️Способ хранения: токены стандарта TRC-20 поддерживают не все криптовалютные кошельки.
✔️Безопасность: сеть Ethereum является надежной и пользуется большой популярностью.
🟢 Монеты на основе TRON 🥉 становятся все более популярными среди пользователей, поскольку блокчейн Ethereum🥉более перегружен, это приводит к большим комиссиям за транзакции.
📣Не забывайте, что при выборе блокчейна перевода нельзя ошибиться, иначе вы можете потерять отправленные средства. Криптовалюты могут перемещаться только по тем блокчейнам, совместимость с которыми была заложена в них при создании.
@MirraChannel😎
⚡ ¡SOLO POR 24 HORAS! ⚡
💸 Extracciones en USDT (TRC20) con comisiones reducidas.
🫴 Usuarios GOLD → 0% de comisión
✅ Usuarios regulares → solo 0.5%
📅 Válido únicamente el martes 21 de abril, desde las 00:00 hasta las 23:59 (hora de Cuba).
Retira tus USDT al costo más bajo del año. Si aún no eres GOLD, este es el momento perfecto para subir de nivel y aprovechar cero comisiones en todas tus extracciones. 🚀
👉 Entra ahora: https://www.qvapay.com
IMPORTANTE: Recuerde siempre que es para montos superiores a $100
#QvaPay#USDT#TRC20#Crypto#Promo
🤩Fintopio is a new non-custodial wallet in the TON ecosystem
#Fintopio is a cryptocurrency wallet in🪙 Telegram, which can be used via mini app and website. With its help, you can conveniently use #DeFi and #CeFi functions, pay bills, divide expenses, buy goods and transfer money without leaving the application.
To get started quickly, you can import an existing wallet:
🟡Open "DeFi" tab in the Fintopio app
🟡 Click "View all"
🟡 Next – “Import wallet”
🟡 Enter your 12-word secret phrase to import your wallet
👛Currently the wallet supports: #BTC, #USDT [#ERC20/#TRC20], #ETH, #TRX and #TON.
📲 The project has a game to attract an audience where $HP (Hold Points) are farmed. You need to collect coins every 8 hours and in the future you can exchange them for the main utility token of Fintopio named $HOLD.
The token is only available to early participants of the project, the more you #HOLD, the more rewards you will receive from Fintopio.
So it's better to start right now!🚀
Game | Channel | Website