Небольшой трик с регулярными выражениями который редко вижу в чужом коде.
Допустим, вам нужно распарсить простой текст и вытащить оттуда пары имя+телефон. Вернуть всё это надо в виде списка словарей. Возьмем очень простой пример текста.
>>> 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
¿Que puede hacer este bot?
@MusicBestRobot_bot
Bot para buscar, descargar y guardar música.
Para buscar, debe ingresar el nombre de la canción o artista y el bot encontrará la pista por usted, para guardar su pista, simplemente envíela al bot y agréguela a su lista de reproducción.
Idiomas: inglés, ruso
(Visto en @botsgram_cu)
#música#descargas
¿Que puede hacer este bot?
@XFiles2LinkBot
Este bot ofrece enlaces de descarga para archivos de telegram
Idiomas: inglés
(Visto en @botsgram_cu)
#enlaces#descargas
¿Que puede hacer este bot?
@Utube_downloadbot
Puede descargar cualquier video individual de YouTube (no listas de reproducción) gratis. Simplemente envíe la URL de cualquier video de YouTube.
Idioma: inglés
(Visto en @botsgram_cu)
#youtube#descargas
¿Que puede hacer este bot?
@descargandomusica_Bot
La funcion de este bot es buscar la cancion que le solicitas y luego te la envia, funciona con una Amplia base de datos, también descarga de YouTube a través de enlaces
Idioma: español
(Visto en @botsgram_cu)
#música#descargas#youtube
¿Que puede hacer este bot?
@JustYoutubeMusicBot
¡Puede descargar música de YouTube / YouTube Music con diferentes calidades compatibles! 🎧
Idioma: inglés
(Visto en @botsgram_cu)
#música#youtube#descargas
¿Que puede hacer este bot?
@HeimanXUploader_bot
Cargue archivos a Telegram, descargue medios de YouTube, convierta archivos y más.
Idiomas: inglés
(Visto en @botsgram_cu)
#youtube#descargas#edición
¿Que puede hacer este bot?
@OkGoogleMusicBot
Puede buscar y descargar cualquier pista de Soundcloud ☁️
Usando el modo inline, envíale el título de la pista y te mostrará lo que pude encontrar.
Idiomas: inglés, ruso
(Visto en @botsgram_cu)
#música#descargas#soundcloud
¿Que puede hacer este bot?
@YoutubeV2DXBot
Con este bot podrás descargar videos y audios de YouTube en diferentes formatos.
Idioma: inglés
(Visto en @botsgram_cu)
#música#videos#descargas#youtube
¿Que puede hacer este bot?
@TokenTikbot
El bot lo ayudará a descargar rápidamente cualquier video y música de TikTok sin una marca de agua.
Idiomas: inglés, ruso
(Visto en @botsgram_cu)
#música#videos#descargas#tiktok
¿Que puede hacer este bot?
@TikTokenBot
Un bot para descargar videos sin marca de agua de TikTok, y también ayudará a descargar cualquier pista de música.
Idiomas: inglés, ruso
(Visto en @botsgram_cu)
#videos#música#tiktok#descargas
¿Que puede hacer este bot?
@fmoviesearchbot
Este bot te ayudará a encontrar cualquier tipo de películas fácilmente.
Idiomas: inglés
(Visto en @botsgram_cu)
#películas#series#descargas
¿Que puede hacer este bot?
@cloudy_files_bot
Este es un bot de servicio en la nube. Le permite administrar archivos y descargarlos.
Idiomas: inglés
(Visto en @botsgram_cu)
#descargas#nube#archivos