Progetto:Bot/Regex utili
Regex per inserire i wikilink nell'indice di un libro, nella versione con testo a fronte
modificaLa sostituzione si opera in più tempi.
Modalità 1
modifica- CERCA
[^|]p. ([0-9][0-9][0-9])
[^|]p. ([0-9][0-9])
[^|]p. ([0-9])
- SOSTITUISCI
[[Pagina:NOMEPAGINA - \1.jpg|p. \1]]
[[Pagina:NOMEPAGINA - 0\1.jpg|p. \1]]
[[Pagina:NOMEPAGINA - 00\1.jpg|p. \1]]
Modalità 2
modifica- Primo passo
Cerca
[^|]p. ([0-9][0-9][0-9])
sostituisci
[[Pagina:NOMEPAGINA - \1.jpg|p. \1]]
- Secondo passo
Cerca
[^|]p. ([0-9][0-9])
sostituisci
[[Pagina:NOMEPAGINA - 0\1.jpg|p. \1]]
- Terzo passo
Cerca
[^|]p. ([0-9])
sostituisci
[[Pagina:NOMEPAGINA - 00\1.jpg|p. \1]]
Note
modificaQuando si vuole linkare la nota presente in un testo (vedasi per esempio questo caso) consiglio di cercare una stringa di puro testo che indica la presenza della nota. Nel nostro esempio sarà:
]] n.
A questo punto, a mano, copio-incollo la stringa:
#_note-0
qui:
.........jpg<--INCOLLO QUI-->|p...........
Autore Citato
modificaLa trasformazione deve avvenire da:
[[Autore:Dante Alighieri|Dante]]
a
{{AutoreCitato|Dante Alighieri|Dante}}
e da:
[[Autore:Dante Alighieri|Dante Alighieri]]
a
{{AutoreCitato|Dante Alighieri}}
Cerco:
\[\[Autore:([^|]*)\|([^|]*)\]\]
e sostituisco:
{{AutoreCitato|$1|$2}}
NOTA: così va benissimo nel primo caso, nel secondo provoca una ridondanza trascurabile: l'efficacia è la medesima, ma e volessi fare il pignolo dovrei avere un bot intelligente che "leggesse" e sapesse dirmi se $1 == $2.
\[\[Autore:([^|]*)\|([^|]*)\]\] --> {{AutoreCitato|$1|$2}}
Testo Citato
modificaLa trasformazione deve avvenire da:
[[Divina Commedia|Commedia]]
a
{{TestoCitato|Divina Commedia|Commedia}}
e da:
[[Divina Commedia]]
a
{{TestoCitato|Divina Commedia}}
Cerco:
\[\[([^|]*)\|([^|]*)\]\]
e sostituisco:
{{TestoCitato|$1|$2}}
NOTA: La questione è più complicata che per il template {{AutoreCitato}}. Qui si tratta di puri wikilink, e la regex dovrà distinguere fra questi e i vari interlink, link ad autori ecc.
\[\[Autore:([^|]*)\|([^|]*)\]\] --> {{AutoreCitato|$1|$2}}
Testo
modificaRegex per trasformare il wikilink dell'opera (nella pagina autore) con il template {{Testo}}.
''\[\[([^|]*)\]\]'' --> {{Testo|$1}}
Liste di matematici
modificaHo apportato un'ulteriore modifica alle liste. Se lasciamo tutti i link rossi non possiamo controllare la pagina Speciale:PagineRichieste sulla quale sto facendo lavorare il bot. Dato che l'inserimento degli autori sarà progressivo ti propongo la soluzione adottata per la lettera A della lista Progetto:Matematica/Liste/Matematici italiani A-C.
Come vedi ho nascosto i collegamenti così quando vi serve di creare una pagina vi basterà solo cancellare da sinistra del secondo asterisco
Ad esempio:
* '''Abbati Marescotti, Pietro''' <!-- * [[Autore:Pietro Abbati Marescotti|Abbati Marescotti, Pietro]] --> (1768 - 1842)
cancelli da sinistra del secondo asterisco e il collegamento torna come prima
* [[Autore:Pietro Abbati Marescotti|Abbati Marescotti, Pietro]] --> (1768 - 1842)
La stringa regex per sistemare i collegamenti è questa:
Cerca
\[\[(.*?)\|(.*?)\]\]
Sostituisci con
'''$2''' <!-- * [[$1|$2]] -->