Небольшой трик с регулярными выражениями который редко вижу в чужом коде.
Допустим, вам нужно распарсить простой текст и вытащить оттуда пары имя+телефон. Вернуть всё это надо в виде списка словарей. Возьмем очень простой пример текста.
>>> 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
#GMX/USDT analysis :
#GMX is currently in a downtrend, trading below the 200 EMA. The price is foreseen to sustain its bearish momentum and retest prior lows. To consider opening a short position, it is advisable to await a retracement and a retest of the established resistance level.
TF : 2h
Entry : $24.05
Target : $21.78
SL : $25.11
#GMX хорошо смотрится. Для верующих в альтсезон, смарт сделка.
Купить по 23$ (spot разумеется)
Продать по 35$ допустим.
НЕ ФИНАНСОВЫ СОВЕТ!
GMX — это децентрализованная торговая платформа и токен, работающий на блокчейнах Arbitrum и Avalanche. GMX предлагает пользователям возможность торговать криптовалютами с низкими комиссиями и с использованием деривативов, таких как бессрочные фьючерсы. Платформа поддерживает спотовую и маржинальную торговлю, а также использует децентрализованные механизмы ценообразования.
Основные особенности GMX:
1. Торговля без посредников: GMX позволяет торговать напрямую через смарт-контракты, исключая необходимость в централизованной бирже.
2. Программа ликвидности: Пользователи могут предоставить ликвидность и получать вознаграждения в токенах GMX и ETH (на Arbitrum) или AVAX (на Avalanche).
3. Токен GMX: Он используется для участия в управлении платформой и предоставления ликвидности, а также его можно стейкать для получения вознаграждений.
4. GMX и GLP: GLP — это пул ликвидности, с которым связаны активы, доступные для торговли. GMX и GLP вместе обеспечивают работоспособность платформы.
Токен GMX стал популярным благодаря тому, что предлагает конкурентные условия для трейдеров в DeFi-секторе и обеспечивает низкие комиссии на фоне растущего спроса на децентрализованные биржи.