Небольшой трик с регулярными выражениями который редко вижу в чужом коде.
Допустим, вам нужно распарсить простой текст и вытащить оттуда пары имя+телефон. Вернуть всё это надо в виде списка словарей. Возьмем очень простой пример текста.
>>> 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
1️⃣1xBet Official Player Account — Special Promo
🌍
Promo Code: WORLDCUPAU
1️⃣https://bit.ly/Pro-Official-1xbet
🎯Exclusive Elite Benefits:
🎟Free Entry into the Million Dollar Jackpot Lottery — win up to $1,000,000
💰 Guaranteed minimum $100 bonus balance from the lottery
🔄40% Cashback on every deposit until 1 January 2026
📒Winners Announced: 1 January 2026
🔍Offer Valid Worldwide (in legal 1xBet markets)
⚠️Responsible Play: Gambling involves risk. Only play if it’s legal in your area and you are of legal age. Set limits, play smart.
💛
1️⃣𝐎𝐅𝐅𝐈𝐂𝐈𝐀𝐋 1xBet 𝐕𝐄𝐑𝐈𝐅𝐈𝐄𝐃 𝐂𝐇𝐀𝐍𝐍𝐄𝐋
♥️
🛡Your Only Trusted Source – 100% scam-free, protected, and authorized.
⚠️Important Security Notice
For all official deals, connect only with our Premium Verified Manager.
📩@Worldcupau⭐
#Worldcupau#1xBet#Giveaway#sportsbook#Football#AI#Fifa#CryptoDealer#BMW#1xBetBonus
1️⃣1xBet Official Player Account — Special Promo🌍
Promo Code: WORLDCUPAU
1️⃣https://bit.ly/Pro-Official-1xbet
🎯Exclusive Elite Benefits:
🎟Free Entry into the Million Dollar Jackpot Lottery — win up to $1,000,000
💰 Guaranteed minimum $100 bonus balance from the lottery
🔄40% Cashback on every deposit until 1 January 2026
📒Winners Announced: 1 January 2026
🔍Offer Valid Worldwide (in legal 1xBet markets)
⚠️Responsible Play: Gambling involves risk. Only play if it’s legal in your area and you are of legal age. Set limits, play smart.
💛1️⃣𝐎𝐅𝐅𝐈𝐂𝐈𝐀𝐋 1xBet 𝐕𝐄𝐑𝐈𝐅𝐈𝐄𝐃 𝐂𝐇𝐀𝐍𝐍𝐄𝐋♥️
🛡Your Only Trusted Source – 100% scam-free, protected, and authorized.
⚠️Important Security Notice
For all official deals, connect only with our Premium Verified Manager.
📩@Worldcupau ⭐
#Worldcupau#1xBet#Giveaway#sportsbook#Football#AI#Fifa#CryptoDealer#BMW#1xBetBonus
1️⃣1xBet Media Partnership 2025🌍
Are you a Telegram admin, influencer, content creator, or website owner? Join 1xBet, a global betting leader with 50M+ users in 150+ countries, and turn your audience into steady income.
👜Benefits:
– Long-term official contract
– Monthly crypto payments — fast & secure
– High rates + 10% monthly growth for consistent results
📣 Platforms: Telegram • Instagram • TikTok • YouTube • Websites
💛1️⃣𝐎𝐅𝐅𝐈𝐂𝐈𝐀𝐋 1xBet 𝐕𝐄𝐑𝐈𝐅𝐈𝐄𝐃 𝐂𝐇𝐀𝐍𝐍𝐄𝐋♥️
🛡Your Only Trusted Source – 100% scam-free, protected, and authorized.
👑𝐉𝐨𝐢𝐧 𝐭𝐡𝐞 𝟏𝐱𝐁𝐞𝐭 𝐄𝐥𝐢𝐭𝐞👑
Opportunities in:
✨ Advertising
✨ 1xPartners Affiliate Program
✨ Bank Transfer Agent
✨ E-Wallet Agent
✨ Crypto Dealer ✅
⚠️Important Security Notice
For all official deals, connect only with our Premium Verified Manager.
📩@Manager_1xBet⭐
#Worldcupau#1xBet#Giveaway#sportsbook#Football#AI#Fifa#CryptoDealer#BMW#1xBetBonus