Небольшой трик с регулярными выражениями который редко вижу в чужом коде.
Допустим, вам нужно распарсить простой текст и вытащить оттуда пары имя+телефон. Вернуть всё это надо в виде списка словарей. Возьмем очень простой пример текста.
>>> 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
Innei 向 mx-space/core 提交了一个更改
refactor: remove TextMacroService and textOptions config
TextMacroService (text macro replacement for `[[ $var ]]` / `[[ #fn() ]]` syntax)
is no longer needed. All replaceTextMacro calls replaced with direct text usage.
- Delete helper.macro.service.ts and its test/mock files
- Remove TextMacroService injection from post, page, note, markdown modules
- Remove textOptions schema, default config, and DSL section
- Update v10 migration docs with breaking change notice
#Italia#Camera
#FN|ESN ha negato per la seconda volta consecutiva la fiducia al governo Meloni. Il partito di Vannacci si colloca ufficialmente all’opposizione.
@Osservatorioitaliano
#Italia
Roberto #Vannacci (#FN|ESN): "L'immigrazione distrugge anche il calcio. La Serie A oggi è il campionato più ricco di stranieri in Europa: il 67,5% dei giocatori non è italiano, 384 su 569, una percentuale che supera perfino la Premier League. Questo modello orientato al business favorisce i club ma ‘svuota’ il vivaio nazionale: la Nazionale, infatti, può pescare solo da un bacino che rappresenta il 30% del campionato. Il risultato è una crisi strutturale, confermata dalla terza mancata qualificazione consecutiva ai Mondiali e da anni di mancati investimenti sui giovani. I club oggi vedono la maglia azzurra come un ‘fastidio’ che non produce ricavi e preferiscono acquistare giocatori stranieri già pronti, invece di far crescere talenti italiani."
@OsservatorioItaliano
#Italia#Marche
Il sindaco di Civitanova Marche Fabrizio Ciarapica lascia #FI|EPP e aderisce a #FN|ESN: è il primo sindaco “futurista” di un comune italiano superiore.
@Osservatorioitaliano
#Italia
Joe #Formaggio ufficializza il passaggio a #FN|ESN, abbandonando #FdI|ECR, e segnando il terzo passaggio importante in pochi giorni nel partito di Vannacci in Veneto. Poche ore dopo l’annuncio, un incendio ha danneggiato il ristorante di Formaggio.
@Osservatorioitaliano
#Italia
L’ex sottosegretario al lavoro del governo Berlusconi Luca #Belotti, con un passato tra i finiani, lascia #FdI|ECR e aderisce a #FN|ESN.
@OsservatorioItaliano
#Italia#Camera
❗Edoardo #Ziello (#FN|ESN) ha appena votato "NO" alla questione di fiducia al governo Meloni, passando ufficialmente all'opposizione.
@OsservatorioItaliano
#Italia#Camera
❗Rossano #Sasso (#FN|ESN) ha appena votato "NO" alla questione di fiducia al governo Meloni, passando ufficialmente all'opposizione.
@OsservatorioItaliano
#Italia
L'ex sottosegretaria alla Salute dal 2009 al 2011 durante il governo Berlusconi, Francesca #Martini, lascia la #Lega|PfE e aderisce a #FN|ESN.
@OsservatorioItaliano
#Italia#Camera
❗Emanuele #Pozzolo (#FN|ESN) ha appena votato "NO" alla questione di fiducia al governo Meloni, passando ufficialmente all'opposizione.
@OsservatorioItaliano
#Italia#Veneto
Vicenza, in città compaiono locandine per un evento di #FN|ESN organizzato dall’ex consigliere Joe #Formaggio, che sarebbe ad un passo dal lasciare #FdI|ECR per passare con Vannacci
@OsservatorioEsteri