Aiuto:MemoRegex

Da Wikisource.

Con il termine memoRegex intendiamo, qui su it.wikisource, un sistema integrato per costruire interattivamente, memorizzare e ricaricare serie di sostituzioni automatiche specifiche per un'opera o un gruppo di opere, completamente controllato dall'utente. Il codice è caricato attivando il gadget memoRegex; devono essere attivati anche i due gadget Strumenti per la rilettura e "la bottoniera". Le sostituzioni vengono create attraverso il tool Trova e Sostituisci, con opzione Ricorda attivata; vengono lanciate in edit ad ogni chiamata del tool postOCR, dopodichè possono venire scaricate e memorizzate oppure ricaricate.

Operazioni di base[modifica]

1. salvare le sostituzioni memorizzate
da qualsiasi nsPagina premere il pulsante salva regex. Le regex memorizzate saranno scritte sulla pagina Discussioni indice correlata
2. lanciare tutte le regex memorizzate
premere il pulsante esegui regex
Novità giugno 2016
Il caricamento delle regex specifiche per la pagina è automatico nel momento dell'edit di una pagina ("allineamento automatico"). Se nel corso dell'edit si memorizzano nuove regex, occorre salvarle con salva regex prima di editare pagine di un'altra opera.

E' possibile caricare manualmente blocchi di regex da "pagine libreria" (qualsiasi pagina in pagine diverse da nsPagina) entrando in modifica nella pagina, selezionando l'intero blocco di regex da caricare (da {" a ]}) e premendo carica regex.

Organizzazione delle sostituzioni memorizzate[modifica]

L'oggetto memoRegex è un dizionario, le cui chiavi sono costituite dalla regex di ricerca e i cui contenuti sono i codici necessari alla sostituzione regex.

Questo significa che ripetendo la memorizzazione di una stessa ricerca/sostituzione, l'input sovrascrive la sostituzione con la stessa chiave precedentemente memorizzata. Quindi, in caso di memorizzazione di una sostituzione errata, basta memorizzare la sostituzione giusta. Se invece l'errore sta nella chiave di ricerca, la cancellazione è più complessa (scaricamento della serie di sostituzioni memorizzate, eliminazione dell'intero blocco errato con paranoide attenzione a non togliere nemmeno un carattere in più o in meno, ricaricamento).

Attenzione![modifica]

MemoRegex agisce sul testo nello stesso modo in cui agisce Trova & sostituisci, compresi i template ed altro codice "sensibile". Va utilizzato quindi con molta attenzione e verificando il risultato. Il momento ideale per utilizzarlo è sul testo "fresco di OCR", ancora non formattato e ancora suddiviso nelle righe originali.



Possibili usi di Ricorda[modifica]

Oltre a scannos, il meccanismo Ricorda puo essere usato per memorizzare sostituzioni di abbreviazioni, cosa particolarmente utile se l'abbreviazione deve essere espansa in un testo wiki contenente codice standard.

Un esempio: in Discussioni indice:Cenere.djvu è memorizzata la sostituzione di una x, preceduta e seguita da un acapo, con il seguente codice:

\n\n\n{{Centrato|{{xx-larger|•}}}}\n\n\n

che viene trasformato in




{{Centrato|{{xx-larger|•}}}}


ossia nel "segno di sottocapitolo" nel testo. Difficile ricordare esattamente il numero di acapo giusti, men che meno ricordarsi esattamente il codice {{Centrato|{{xx-larger|•}}}}, più facile ricordarsi l'abbreviazione "x". ;-)

Lo stesso si può fare per caratteri speciali, ad esempio si potrebbe memorizzare i q* e prevedere la loro sostituzione con q̃, o cose del genere, e per l'applicazione di template ricorrenti, associati a semplici parole-chiave.

Due memoRegex in Discussioni indice:Straparola - Le piacevoli notti II.djvu eseguono (vedi esempi del risultato qui):

  • nelle righe che iniziano con c+spazio: il testo della riga è inserito in un template Centrato
  • nelle righe che iniziano con ind+spazio: il testo della riga è inserito in un template Sc, a sua volta inserito come parametro testo= in un template Indentatura

Esempi e codice pronto da caricare[modifica]

In questa pagina: Aiuto:MemoRegex/Esempi trovate esempi tratti dai memoRegex di varie opere.

Modificare la sezione memoRegex di una pagina Discussioni indice[modifica]

Aprendo una pagina Discussioni indice che abbia una sezione memoRegex, e aprendo la sezione memoRegex in modifica, trovate un codice di questo tipo:

== memoRegex ==
{"\\n{{O\\|(.+)}}":["spostamento numero strofa(regex)","\n{{ct|f=100%|v=0|l=20em|$1.}}\n","gm"],
"^([^{].+)$":["indento(regex)","     $1","gm"],
"(}\\n)     ":["de-indento(regex)","$1","g"],
"^ +<poem":["(regex)","<poem","gm"],
"^ +<\\/poem":["(regex)","</poem","gm"],
"([aeiou]’)(\\w)":["(regex)","$1 $2","g"],
"^(\\d[13579]*)$":["^(\\d[13579]*)$","{{RigaIntestazione||{{type|f=90%|l=6px|PRIMO.}}|$1}}","gm"],
"^(\\d[02468]*)$":["^(\\d[02468]*)$","{{RigaIntestazione|$1|{{type|f=90%|l=6px|CANTO}}|}}","gm"],
"’ ([aeiouAEIOU])":["(regex)","’$1","g"],
"é":["","è","g"],
" +$":["eliminazione spazi a fine riga(regex)","","gm"],
"(\\w) e ":["virgola prima della e(regex)","$1, e ","g"],
"(\\w) o ":["virgola prima della o(regex)","$1, o ","g"]}

Ognuna delle righe ha questa struttura:

  • "espressione regex":["commento","stringa sostituzione","modificatori regex"]

Facendo MOLTA attenzione a non commettere errori di copiaincolla, le righe possono essere riordinate, oppure se ne possono eliminare alcune e aggiungere altre.

Facendo MOLTISSIMA attenzione può essere modificato il codice di ciascun elemento.