Небольшой трик с регулярными выражениями который редко вижу в чужом коде.
Допустим, вам нужно распарсить простой текст и вытащить оттуда пары имя+телефон. Вернуть всё это надо в виде списка словарей. Возьмем очень простой пример текста.
>>> 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
#InfinityX#qpr2#Diting#A15
Project InfinityX - v2.8 | Android 15
Released: 8/05/2025
▪️Gapps: Gdrive
▪️Vanilla: Gdrive
▪️Recovery: Ofox
▪️Screenshots
Notes:
It is recommended to use ofox recovery if you are flashing via fastboot.
fastboot flash recovery_ab recovery.img
Changelogs:
• Synchronized with the latest changes
• Device integrity passes (signed build)
• fixed the problem with freezing when the battery reaches 5%?
• KernelSU Support
• Firmware included
• Dolby Audio by default
• HyperOS Camera by default
Credits:
Thanks to @TeamMEX_XDA❤️
Thanks to @zED141 for giving me space on gdrive
By@Jezzay97 | Donate
Follow@xiaomi_12tpro_updates
Join@xiaomi12tpro_chat
#InfinityX#qpr2#Diting#A15
Project InfinityX - v2.7 HotFix | Android 15
Released: 3/05/2025
▪️Gapps: Mirror | Gdrive
▪️Vanilla: Mirror | Gdrive
▪️Recovery: Ofox
▪️Screenshots
Notes:
It is recommended to use ofox recovery if you are flashing via fastboot.
fastboot flash recovery_ab recovery.img
Changelogs:
• Synchronized with the latest changes
• Device integrity passes (signed build)
• Fixed the error when installing gapps due to missing partition.
• Slot 2 problem for Sim cards solved
• Firmware included
• Dolby Audio by default
• HyperOS Camera by default
• and many more changes...
Credits:
Thanks to @TeamMEX_XDA❤️
Thanks to @zED141 for giving me space on gdrive
By@Jezzay97 | Donate
Follow@xiaomi_12tpro_updates
Join@xiaomi12tpro_chat
#InfinityX#qpr2#Diting#A15
Project Infinity X - v2.7 | Android 15
Released: 3/05/2025
▪️Gapps: Mirror | SF
▪️Vanilla: Mirror | SF
▪️Screenshots
Notes:
• Synchronized with the latest changes
• Device integrity passes (signed build)
• Thermal menu was removed for now
• Remove some ARM blobs
• Now with oss kernel
• Fixed some vibration bugs. now works 100%.
• Added KernelSU support
• Improved performance
• Firmware included
• Dolby Audio by default
• HyperOS Camera by default
• and many more changes...
Credits:
Thanks to @TeamMEX_XDA❤️
By@Jezzay97 | Donate
Follow@xiaomi_12tpro_updates
Join@xiaomi12tpro_chat
#InfinityX#qpr2#Diting#A15
Project Infinity X - v2.7 | Android 15
Released: 20/04/2025
▪️Download: Mirror | SF
▪️Screenshots
Notes:
• Synchronized with the latest changes
• Device integrity passes (signed build)
• Workaround for voip audio routing issue using a monitoring service (Whatsapp calls on speakerphone fixed)
• Firmware included and updated
• Gapps build only
• Dolby Audio by default
• HyperOS Camera by default
By@Jezzay97 | Donate
Follow@xiaomi_12tpro_updates
Join@xiaomi12tpro_chat