Небольшой трик с регулярными выражениями который редко вижу в чужом коде.
Допустим, вам нужно распарсить простой текст и вытащить оттуда пары имя+телефон. Вернуть всё это надо в виде списка словарей. Возьмем очень простой пример текста.
>>> 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
🎯🎯Excellent 31% Profit on #DOT/USDT for all Premium Members
🚀🚀It has crossed all the targets
👁🗨Contact @futurechief to enter the premium group & make daily gains
🚀🚀Raining Profits in the Premium Group
🎯🎯#DOT/USDT has covered all the targets to give an amazing profit of 30% for all Premium Members
👁🗨Contact @futurechief to enter the premium group & make daily gains on Futures as well as Spot Market
🏦 Биржа Bybit отразила атаку с фейковыми депозитами на ~$1,000,000,000.
В Bybit сообщили о том, что остановили серию атак с поддельными депозитами сразу в нескольких сетях. Потенциальный ущерб мог превысить $1b в токенах #DOT, но ни один пользователь не пострадал.
▪Схема:
➥ Злоумышленники создавали транзакции, которые выглядели как успешные депозиты, хотя реальные средства НЕ поступали.
➥ Использовали батч-операции – часть переводов проходила, а часть специально завершалась с ошибкой.
➥ Также применяли многошаговые транзакции, создавая «иллюзию» поступления средств без роста баланса.
▪В чем проблема:
➥ Некоторые системы смотрят только на статус транзакции или логи и могут засчитать «фейковый» депозит как настоящий.
▪Как отбились:
➥ Bybit проверяет не просто транзакцию, а фактическое изменение баланса и разбирает каждую операцию внутри нее:
⊹ Анализ внутренних транзакций.
⊹ Разбор батчей по частям.
⊹ Проверка владельца и структуры аккаунтов.
⊹ Финальная валидация по реальному балансу.
Ранее: Bybit Card в России
Crypto Headlines
#DOT/USDT analysis -
#DOT is in a downtrend, forming lower lows (LLs) and lower highs (LHs). The price is currently experiencing a pullback and facing rejection from the resistance zone. It is expected that the price will decline from this point and revisit previous lows.
TF : 4h
Entry : $6.154
Target : $5.538
SL : $6.462