Небольшой трик с регулярными выражениями который редко вижу в чужом коде.
Допустим, вам нужно распарсить простой текст и вытащить оттуда пары имя+телефон. Вернуть всё это надо в виде списка словарей. Возьмем очень простой пример текста.
>>> 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
#OOKI/USDT analysis :
#OOKI is currently consolidating sideways within the support and resistance zones. The price has recently bounced back from the support zone and is likely to continue its momentum to test the resistance zone.
TF : 1D
Entry : $0.001291
Target : $0.001488
SL : $0.001176
#OOKI/USDT analysis :
#OOKI is currently trading in the resistance zone below the 200 EMA. It is currently showing rejection in the resistance zone. It is highly anticipated that the price will continue its downside momentum and test previous lows. It is advisable to wait for the price to break below the $0.00143 level as confirmation for an entry.
TF : 2H
Entry : $0.00143
Target : $0.00119
SL : $0.00158
#OOKI trying to break up the falling wedge pattern on 3D Time frame,we are waiting to see what will happen ⏳
❄️@signals_bitcoin_crypto❄️
❄️@Shadow_support0o❄️
Утро трейдеров омрачил делистинг
#главное
Binance давно не зарабатывал на ликвидациях, это не дело.
6 ноября на Binance остановят торговлю токенами #IDRT, #KP3R, #OOKI и #UNFI.
Уведомление об этом как обычно вышло внезапно и обрушило токены на десятки %, дав многим трейдерам и владельцам авто-торговых ботов крупные убытки, ликвидации и лишние комиссии.
Напоминаю, защититься от делистингов с биржи можно с помощью списка мониторинга:
- Спасаемся от делистингов: риск-список криптовалют
- Нет лучше защиты, чем размер депозита.
- Чем опасны централизованные биржи?
Today's RSI Over Sold&Bought Coins by CoinLegs 💫
#LOOM#BOND#OOKI#FTT#OSMO#QUICK
Don't waste your time checking RSI levels for every coin. Let CoinLegs do it for you 🍻
It is free! Try the CoinLegs platform today.