Cellistbot
Iscritto il 22 mar 2011
Contenuto cancellato Contenuto aggiunto
→Archiviazione semiautomatica: ricorsivo |
→Archiviazione semiautomatica: non è più un test |
||
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]]:
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>
|