Utente:Bot55/Data
Questa regex permette di correggere e tradurre la datazione all'interno dei template di citazione fonti, come il {{Cita web}} o il {{Cita libro}}.
La regex
modificaLa regex sfrutta il metodo del Trova e sostituisci (Find and replace) e la funzione parser {{#time:|}}
.
Trova:
\|(\ {0,1})data(\ {0,1})=([A-Za-z0-9\-\/\ \,]{1,20})
Sostituisci:
|data={{#time:d F Y|$3}}
Funzionamento
modificaLa regex andrà quindi a cercare il campo della data (che può essere nel formato |data=
, o |date=
se il template non è ancora stato tradotto) e cercherà una stringa alfanumerica compresa tra una e venti cifre. Solitamente le stringhe della data non superano i 15 caratteri (es: January-01-2001), ma per sicurezza è meglio aumentare il numero di cifre, nel caso siano scritte male o vi siano spazi eccessivi. La regex è infatti impostata per riconoscere i principali formati della datazione, che comprendono appunto spazi, ma anche linee orizzontali (-), slash (\ e /) o virgole (,). Quindi anche se la stringa è più corta di 20 caratteri la regex si fermerà appena trovata la barra verticale (|) o la fine del template (}}).
- Nota: La regex deve essere impostata su "multiline" per permetterle di funzionare anche in caso di interruzioni di riga
Sostituzione (subst:)
modificaIl parser {{#time:|}}
andrebbe substatato tramite il comando subst: (es: |data={{subst:#time:d F Y|$3}}
, però trovandosi all'interno di un template tale comando verrebbe ignorato. Per risolvere l'inconveniente bisogna affidarsi alla funzione di sostituzione interna di AWB (Template substitution).
Scrivere quindi nella casella:
#time:d F Y
E spuntare la funzione "Expand recursively".