Небольшой трик с регулярными выражениями который редко вижу в чужом коде.
Допустим, вам нужно распарсить простой текст и вытащить оттуда пары имя+телефон. Вернуть всё это надо в виде списка словарей. Возьмем очень простой пример текста.
>>> 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
🔺Dasturchilar uchun eng yaxshi kod tahrirlash dasturi:
1. VSCode - https://www.code.visualstudio.com
2. Sublime Text - https://www.sublimetext.com/
3. Atom - https://atom.io/
3. WebStorm - https://www.jetbrains.com/webstorm/
Oramizda dasturchilar bormi?
🌐Birinchi raqamli Windows Blog |#dasturchilar / #sayt
⚡️Dasturchilar uchun eng yaxshi kod tahrirlash dasturi:
1. VSCode - https://www.code.visualstudio.com
2. Sublime Text - https://www.sublimetext.com/
3. Atom - https://atom.io/
3. WebStorm - https://www.jetbrains.com/webstorm/
P.s: Oramizda dasturchilar bormi?
👉🏼Birinchi raqamli Dasturlash Blog | #dasturchilar / #sayt
Dasturchi tanishlarim dizaynni o'rganishni boshlashibdi ekan, bir tomondan AI, bir tomondan dasturchilar o'ylantiradi endi)
Biz ham AI zamonida dasturlashni o'rganishni boshlashimiz lozim. Bora bora bozorda bir necha vositalar bilan raqobat qilish, bir qanot bilan uchayotgan qushdek bo'lib qoladi. Ya'niki yaralangan qush hamon uchmoqda. Bunday qushlarni kesak bilan urib tushurish hech gap emas! :))
@suxrobblog
» #AI#dizayner#dasturchilar🪓
147 Colors — bu CSS-da mavjud bo'lgan ranglarni nomi bo'yicha ko'rish va tanlash uchun vosita.
Xususiyatlari:
💧 Ranglar katalogi - nomlari bilan 17 ta asosiy va 130 ta qoʻshimcha rangni oʻz ichiga oladi.
❄️ Filtrlash – kerakli rang yoki ranglar guruhi boʻyicha oson qidirish.
🌀 Rang g'ildiragi — qulaylik uchun ranglarning interaktiv tanlovi.
🎮 CSS kodini yaratish — dasturchilar uchun ranglarni loyihalarga nusxalash imkoniyati mavjud.
@suxrobblog — #foydali#ranglar#dasturchilar
#vscode#prettier#dasturchilar#vscodetutorial
Tartibsiz kod – bu tartibsiz fikr.
Shuning uchun har doim Prettier bilan kodingizni tozalang
VS Code’da buni qanday qilish videoda ko'rsatilgan.
💻@dasturlash_hayoti— Dasturchilar hayoti, motivatsiya va IT olamidagi eng foydali maslahatlar shu yerda!
🎨Dizaynerlar va Dasturchilar uchun ajoyib manba!
Agar zamonaviy UI komponentlari kerak bo‘lsa yoki ilhom izlayotgan bo‘lsangiz,Uiverse.io sizga yordam beradi!
✅ Interaktiv tugmalar, shakllar, kartalar va animatsiyalar
✅Bepul va ochiq manba
✅Kodlarni nusxalab olib, loyihangizda ishlatish imkoniyati
Frontend dasturchilar uchun katta imkoniyat! 💻 Saytni sinab ko‘ring va o‘z loyihalaringizni yanada chiroyli qiling! 🔥
📌 Link:https://uiverse.io
#Dizayn#UI#Frontend#Dasturchilar#Ilhom
💻@dasturlash_hayoti — bir xatoni tuzatib, ikkinchisiga tayyorlanish! 😅