Небольшой трик с регулярными выражениями который редко вижу в чужом коде.
Допустим, вам нужно распарсить простой текст и вытащить оттуда пары имя+телефон. Вернуть всё это надо в виде списка словарей. Возьмем очень простой пример текста.
>>> text = '''
>>> Alex:8999123456
>>> Mike:+799987654
>>> Oleg:+344456789
>>> '''
Соответственно, для выделения нужных элементов будем использовать группы. Получится такой паттерн:
(\w+):([\d+]+)
Как мы будем формировать словарь из найденных групп?
>>> import re
>>> results = []
>>> for match in re.finditer(r"(\w+):([\d+]+)", text):
>>> results.append({
>>> "name": match.group(1),
>>> "phone": match.group(2)
>>> })
>>> print(results)
[{'name': 'Alex', 'phone': '8999123456'}, ...]
Можно немного сократить запись используя zip
>>> results = []
>>> for match in re.finditer(r"(\w+):([\d+]+)", text):
>>> results.append(dict(zip(['name', 'phone'], match.groups())))
Но есть способ лучше! Это именованные группы в regex. Можно в паттерне указать имя группы и результат сразу забрать в виде словаря.
>>> for match in re.finditer(r"(?P<name>\w+):(?P<phone>[\d+]+)", text):
>>> results.append(match.groupdict())
То есть всё что я сделал, это добавил в начале группы (внутри сбокочек) такую запись:
(?P<group-name>...)
Теперь найденная группа имеет имя и можно обратиться к ней как к элементу списка
>>> name = match['name']
Либо забрать сразу весь словарь методом groupdict()
>>> match.groupdict()
#tricks#regex
#pol
⚙️ В Polygon уже завтра активируют хардфорк Giugliano для ускорения финализации транзакций.
В тестнете удалось сократить время финализации примерно на 2 секунды.
Апгрейд является частью дорожной карты «Gigagas». Ее цель – увеличить пропускную способность сети и улучшить пользовательский опыт для платежей и RWA.
Crypto Headlines
#POL
Polygon запустила приватные платежи в USDC и USDT
Polygon представила shielded-платежи для USDC и USDT — переводы, где сумма и участники скрыты, но сама транзакция подтверждается через zero-knowledge.
Как это работает:
— средства переводятся в специальный shielded pool
— внутри него балансы учитываются в зашифрованном виде
— при переводе создается zk-доказательство, что у отправителя есть средства
— сеть подтверждает операцию без раскрытия суммы и адресов
При необходимости средства можно вывести обратно в обычный (публичный) формат.
Функция решает ключевую проблему стейблкоинов: публичность блокчейна. Теперь переводы можно делать без раскрытия финансовых данных, что важно для бизнеса и платежных сценариев.
#POL
Polygon Labs обсуждает привлечение до $100 млн под платежный бизнес на стейблкоинах
Polygon Labs ведет ранние переговоры о привлечении до $100 млн для запуска платежного направления на базе стейблкоинов. Задача проекта — нарастить ончейн-объемы и глубже зайти в регулируемые платежи. Об этом пишет The Information.
Для Polygon это логичное продолжение январского разворота в payments. Тогда компания объявила о покупке Coinme и Sequence более чем за $250 млн, чтобы собрать инфраструктуру для регулируемых стейблкоин-платежей в США. Coinme дает лицензированные фиатные on/off-ramp, Sequence — кошельки и кроссчейн-платежный слой.
#POL
Polygon 8 апреля проведет хардфорк Giugliano
Обновление запланировано на блоке 85,268,500, ориентир по времени — 8 апреля, 14:00 UTC. Валидаторам и нод-операторам нужно перейти на Bor v2.7.0 до активации хардфорка.
Главное изменение — возврат PIP-66, который должен ускорить финализацию. По данным Polygon, тесты на Amoy показали сокращение времени финализации примерно на 2 секунды. Этот же механизм уже пытались внедрить раньше, но тогда его откатили из-за проблем в сети. В новой версии доработку возвращают уже с исправлениями.
Еще одно изменение — fee-параметры теперь будут добавляться прямо в block header, плюс сеть получит новые RPC-методы для работы с этими данными. Это нужно для более прозрачной работы с комиссиями и дальнейшей стабилизации сети после проблем 2025 года.
#POL/USDT Update
Price moved in line with expectations and reached Target 6🎯 Price moved +57.33% from the entry zone (10x leverage)
More details: t.me/BULLSTAR_ADMIN