Небольшой трик с регулярными выражениями который редко вижу в чужом коде.
Допустим, вам нужно распарсить простой текст и вытащить оттуда пары имя+телефон. Вернуть всё это надо в виде списка словарей. Возьмем очень простой пример текста.
>>> 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
⚡️JetTon Games: Exciting New Slots Arrived!
#JetTon#slots
JetTon Games has introduced new enticing slots including Starshine Crystals, Coin Express, and Fighter Pit, each offering unique features and high potential wins. Players can enjoy wilds, risk games, and bonus fights with impressive multipliers. Join the fun at JetTon Games and share your favorites in the comments!
Source: link
@tonlines
🔥1 week after Dragon's Call release and we got:
👾70,000players played
😮x1268max win
In celebration of this we redesign game cover in different art styles🎨, try to guess what those styles are!
#dragonscall#truelab#slots
Our new column - Panda news from Dragon's Call📰
Today we discuss Colombia's tax hike in gambling💔
What do you think of this format?🐼
#news#pandanews#slots#dragonscall
The World of Games Awaits
🎰Polistar Casino invites you to an exciting world of games! 🃏
From classics to the latest releases – our collection is designed to deliver vivid emotions and engaging leisure. Enjoy high-quality graphics and a user-friendly interface.
➡️ Explore the Polistar universe. Simple sign-up here:
[Polistar Casino]
#Sponsorship#CasinoPolistar#CasinoGames#Slots#NewCasino