Contenuto cancellato Contenuto aggiunto
Riga 39:
L'immensa struttura <code><nowiki>([^{}]*\{\{[^{}]*([^{}]*\{\{[^{}]*([^{}]*\{\{[^{}]*([^{}]*\{\{[^{}]*([^{}]*\{\{[^{}]*\}\})*\}\})*\}\})*\}\})*\}\})*</nowiki></code> serve a prevenire che il bot vada in errore incontrando template annidati e template annidati negli annidati (e così via fino a 5 tmp annidati l'uno dentro l'altro).
*[[Progetto:Coordinamento/Accoglienza/Richieste]] (in test)
:<code><nowiki>python replace.py -regex '♠' '' '==([^=\n]+)==' '♠==\1==' '♠[^♠]*(\[\[[^\]]*\]\] \S{0,3}(Non )?Fatto\S{0,3}|\{\{\s*(non )?fatto\s*\}\})[^♠]*' '' '♠' '' -dotall -nocase -summary:"[[Wp:Bot|Bot]]: test[[Utente:Cellistbot#Archiviazione semiautomatica|archiviazione semiautomatica]]" -page:"Progetto:Coordinamento/Accoglienza/Richieste" -putthrottle:00</nowiki></code>
spiego brevemente la regex:
# siccome la struttura che determina l'archiviazione (il tmp fatto/non fatto) non si trova in una struttura fissa (come il template dell'esempio precedente), devo trovare un modo di delimitare le parti di testo entro cui cercare il template, per evitare che il bot peschi parti di testo troppo larghe o troppo piccole, archiviando così a metà. Uso un carattere inutilizzato (♠) come marcatore (si chiama \x{2406}), quindi per primo ripulisco da esso: <code><nowiki>'♠' ''</nowiki></code>