Небольшой трик с регулярными выражениями который редко вижу в чужом коде.
Допустим, вам нужно распарсить простой текст и вытащить оттуда пары имя+телефон. Вернуть всё это надо в виде списка словарей. Возьмем очень простой пример текста.
>>> 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
This underwear can control your #SmartHome!
Skiin smart underwear measure biometrics with sensors that are woven into the garments to track a user's health and make suggestions.
🚀@PerspectiveIX
#smarthome#misc
I have, somehow, 5 different brands of smart home products in our little apartment.
I have no idea what is going on in the smart home industry. Every brand has its own app, hub, or even protocal. So I had to install five different apps to initialize the devices. I could, in principle, ditch these apps and use google/alexa only after I installed them, however, this is still extremely inconvenient as google/alexa doesn’t support all the fancy functions of the devices.
Any solutions to this problem?
💥Detector de Humo Conectado Smartwares FSM-12601
Mantén tu hogar seguro en todo momento
✅OFERTA: 24.99€
❌ Antes: 39.47€
💰Ahorras un 37%🔥
Alerta temprana ante posibles incendios, fácil instalación y cumple con normas d
👉 Protege a tu familia ahora
#rebajas#detectordehumo#seguridadenelhogar#smarthome#ofertas#descuentos#viral#rebajasdeinvierno
🛰️Oferta publicada en Hogar
Alexa is always listening. 🎤
(And so are other apps)
Its microphones are constantly on, collecting voice recordings, tracking your habits, and building voice profiles. This data can be accessed by algorithms, human reviewers, and even third parties. 😬
Protect your privacy:
- Mute the microphone when not in use 🔴
- Delete voice recordings regularly or auto-delete them 🗑️
- Disable human review in the app settings 📱
- Use white noise to mask conversations 🌊
Take control of your data! 🔒
[Source]
@googlefactss#AlexaPrivacy#DataCollection#TechSafety#SmartHome#PrivacyTips
💥Detector de Humo Inteligente Meross MSH450
Protege tu hogar con tecnología de vanguardia
✅OFERTA: 85.49€
❌ Antes: 109.99€
💰Ahorras un 22%🔥
Doble sensor óptico para una detección más precisa, notificaciones en tiempo rea
👉 Mantén tu hogar seguro ahora
#rebajas#detectordehumo#alarmadeincendios#smarthome#seguridadhogar#tecnologiainteligente#ofertas#descuentos
🛰️Oferta publicada en Hogar
💥Enchufe inteligente Wiz para un hogar conectado
Haz de tu casa un lugar más inteligente esta Navidad
✅OFERTA: 7.98€
❌ Antes: 15.99€
💰Ahorras un 50%🔥
Controla tus dispositivos desde cualquier lugar y con comandos de voz
👉 Simplifica tu vida ahora
#wiz#enchufeinteligente#hogarinteligente#smarthome#alexa#googlehome#ofertas#navidad
🛰️Oferta publicada en Hogar
Top Tech Announcements from CES 2025
🔍CES 2025 Highlights:
1. Roborock & Dreame: New vacuum robots with robotic arms, lifting items up to 500g.
2. Lenovo: Introduced ThinkBook Plus Gen 6 with expandable OLED display, from 14 to 16.7 inches.
3. Nvidia: Launched RTX 50 series, featuring DLSS 4 for significant performance boosts.
4. SwitchBot: Unveils modular robot K20 Plus Pro, combines various home tasks.
5. Razer: Debuted Project Ava, a real-time gaming assistant chat-bot.
6. Dell: Introduced a 32-inch QD-OLED monitor that adapts sound to user's head position.
7. TCL: Showcases Ai Me, a companion robot with interactive features.
8. Based Hardware: Reveals Omi, a wearable device with a neuro-helper powered by GPT-4.
9. Withings: Presents the Omnia smart mirror, integrating health data from wearables.
10. Halliday: Launches smart glasses with real-time translation capabilities.
#CES2025#TechAnnouncements#Robots#AI#Nvidia#Gaming#Wearables#SmartHome#Lenovo#Roborock#Dreame#Razer#Dell#TCL#SmartGlasses#HealthTech#Innovations#Gadgets#VR#ComputerHardware#VC