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 regexModifica

La 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}}

FunzionamentoModifica

La 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:)Modifica

Il 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".