Небольшой трик с регулярными выражениями который редко вижу в чужом коде.
Допустим, вам нужно распарсить простой текст и вытащить оттуда пары имя+телефон. Вернуть всё это надо в виде списка словарей. Возьмем очень простой пример текста.
>>> 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
· · • • • •🎄• · · NAVIDAD · · •🎄• • • • · ·
Tazas decoradas para regalar en navidad
Este es el regalo perfecto para los amantes del #café. Una taza es algo que siempre viene bien, pero si una te parece poco, atrévete con un juego de 4 o 6 tazas. Te recomiendo elegir dos colores básicos y jugar con ellos para decorar las tazas. En la foto del ejemplo han utilizado el color blanco y el gris topo para hacer este juego de tazas. En unas han hecho puntos de diferentes tamaños y diferentes formas y en el resto de las tazas han elegido un motivo geométrico con rayas en zigzag entrecortadas. ¿Os gusta esta idea?
· · • • • • • · · · · • • • 🎄• • • · · · · • • • • • · ·
· · · • • • • •❄️• · · CAFÉ· · •❄️• • • • • · · ·
¡Qué rico está el café! Una costumbre muy arraigada en nuestra sociedad que sienta tan bien… Y, además, tiene múltiples beneficios. Y más a primera hora de la mañana, cuando se absorben mejor sus beneficios por el organismo, a la vez que te ayuda a activarte y ponerte en marcha. No te prives de sus beneficios y, sin excederte, disfruta de tomar café por la mañana.
#cuidado_personal
#consejos
#café
· · • • • • • · · · · • • • ☃️• • • · · · · • • • • • · ·
Hola me encontré un dato curioso y me gustaría compartirlo.
📌Después de tanta aceptación y con el objetivo de que sea una celebración unificada y que se promueva, aún más, su consumo, la Organización Internacional del Café (OIC) decretó el 1ro de octubre como el Día Internacional del Café, y además de decretar un único día para esta festividad, desde la organización afirman que la celebración busca “otorgar reconocimiento a los millones de personas de todo el mundo que trabajan duro para crear la bebida que tanto nos gusta”.
#café☕#fechas_para_celebrar#datos_curiosos
· · · • • • • •🌼• · · CAFÉ· · •🌼• • • • • · · ·
Es como un pequeño ritual. Hacemos una taza de café, bebemos nuestros cafés y tiramos la bolsita de café o el filtro. Sin embargo, la próxima vez deberíamos saltarnos ese paso final. Los posos de café son aparentemente útiles para muchas tareas domésticas. ¡No tires los posos de café! Puedes usarlos para estas 7 tareas del hogar
#remedios#consejos#limpieza#café
· · • • • • • · · · · • • • 🍃• • • · · · · • • • • • · ·