Utente:RolloBot/user-fixes.py

# -*- coding: utf-8 -*-
#
# Il codice può essere inserito in user-fixes.py (createlo se non esiste).
# Versione 2020-02-27 11:15
#
# Comando di esempio:
#
# python transfer/wikipedia/pywikipedia/replace.py -namespace:0 -xml:transfer/wikipedia/itwiki-latest-pages-articles.xml -fix:tutti -xmlstart:''

fixes['tutti'] = {
       'regex': True,
       'recursive': True,
       'msg': {
              'it':u'Bot: Correzione di uno o più [[Utente:RolloBot/user-fixes.py|errori comuni]]'
             },
       'replacements': [

# Mobygames
(u'([a-zA-Z1-9{} ]+) \[http://www.mobygames.com/game/(\w+) \'\'(\w+)\'\'(.*)', r'{{MobyGames|id=\2|titolo=\3}}'),

# Galleria fotografica
(u'==(=| )*(Galleria fotografica|Galleria immagini|Galleria di immagini|Galleria di foto|Fotogalleria|Fotografie|Immagini)(=| )*==', r"== Galleria d'immagini =="),

# Trasformo le triple/quadruple/ecc... in doppie (escludo punteggiatura, www, xxx, iii e numeri)

#(r'([abcdefghjklmnopqrstuvyz])\1{2,}', r'\1\1'),
#(r'([^#])([abcdefghjklmnopqrstuvyz])\2{1,5}', r'\1\2\2'), #Test per escludere i colori


######
# VARIE

#(u"\\b(\w+)i(e?)t(a'|a’|a`|à|á)(\W)", r'\1i\2tà\4'),     # *ita' --> ità,  ieta' --> ietà # TROPPE ECCEZIONI

# Errori di apertura/chiusura wlink
(u'\[è',  r'[['),
(u'è\[',  r'[['),
(u'(!\[)\[{',  r'[['),
                 
# A capo di troppo
(u'(\r?\n){3,}',  r'\n\n'),

# Apostrofo con spazio
(u"(l)(l)?('|’ )( ){1,}(')", r"\1\2<nowiki>'</nowiki>'"),  # Per evitare di inserire doppi/tripli apostrofi di wikicode
(u"(l|L)(l)?('|’ )( ){1,}([a-z])", r"\1\2'\5"),

(u"(un)('|’ )( ){1,}(')", r"un<nowiki>'</nowiki>'"),        # Per evitare di inserire doppi/tripli apostrofi di wikicode
(u"(un)('|’ )( ){1,}", r"un'"),

######

(u'\\b([a]) (partecipato|giocato|tentato)\\b', r'ha \2'),  # a --> ha
(u'\\b([A]) (partecipato|giocato|tentato)\\b', r'Ha \2'),  # A --> Ha

(u'\\b([aA])b(b?)at(t?)ut(t?)(\w+)\\b', r'\1bbattut\5'),  # abbattutt* --> abbattut+
(u'\\b([aA])ccellera(re|zione|to|tore)\\b', r'\1ccelera\2'),   # Accelerare
(u'\\b([aA])cchitto\\b', r'\1cchito'), #acchitto --> acchito # RARO
(u'\\b([aA])reazione', r'\1erazione'),  # areazione -> aerazione
(u'\\b([aA])quis(i|t)(\w+)\\b', r'\1cquis\2\3'), # aCquisire - aCquistare
(u'\\b([aA])diacient(e|i)\\b', r'\1diacent\2'),    # Adiacenti
(u'\\b([aA])ffezzion(\w+)\\b', r'\1ffezion\2'),
(u"\\b([aA])(bben|ccioc|ffin|ncor|nzi|tteso|llor|nzi)ch(è|e'|e’|e`|e)([\W])", r'\1\2ché\4'),
(u'\\b([aA])e?reoport(o|i)\\b', r'\1eroport\2'),   # Aeroporto
(u'\\b([aA])e?reo(plan|trasport|mobil|din)(\w+)\\b', r'\1ero\2\3'),    # Aeroplano - Aerotrasporto - Aeromobile - Aerodinamico
(u'\\b([aA])ggiottaggio\\b', r'\1ggiotaggio'),  # RARO ?
(u'\\b([aA])g(g?)res(s?)iv(\w+)\\b', r'\1ggressiv\4'), # RARO ?
(u'\\b([aA])l(cun|lor|tro)chè\\b', r'\1l\2ché'),   # Alcunché
(u'\\b([aA])ltres(i\'|i’|i`|í|i)', r'\1ltresì'),   # Altresì

(u'\\b([aA])ll\'([^aàαaeéèiyjlmnouhAÁÀÅEÈÉFIÎÍYJJLMNOÖÓÒŌØRSUÚHXV0-9{}()\'"“”«<[\]] )', r'\1l \2'),   # Test All' seguito da consonanti (DA TESTARE PER ECCEZIONI)

(u'\\b([aA])ltretant(e|i|o)\\b', r'\1ltrettant\2'),   # Altrettanto # RARO ?
(u'\\b([aA])mpiament(o|i)', r'\1mpliament\2'),     # ampiamento -> ampliamento # RARO?
(u'\\b([aA])mpliamente', r'\1mpiamente'),          # ampliamente -> ampiamente
#RARO (u'\\b([aA])p(p?)ariz(z?)ion(e|i)\\b', r'\1pparizion\4'),
(u'\\b([aA])p(p?)rof(f?)itt(a|i|o|ò|are|ata|ato|ati|ate|ando|erà|eranno)\\b', r'\1pprofitt\4'), # Approfittare
(u'\\b([aA])ppropiat(a|e|i|o)\\b', r'\1ppropriat\2'),      # appropriato
(u'\\b([aA])pprovigiona(.*?)\\b', r'\1pprovvigiona\2'),    # approvvigiona
(u'\\b([aA])quist(a|i|o|ò|are|ata|ato|ati|ate|ando|erà|eranno)\\b', r'\1cquist\2'),    # acquistare
(u'\\b([aA])rrabi(o|ò|are|are|ata|ato|ati|ate|ando|erà|eranno)\\b', r'\1rrabbi\2'),        # arrabbiare
(u'\\b([aA])scie\\b', r'\1sce'),                   # asce
(u'\\b([aA])ssasin(\w+)\\b', r'\1ssassin\2'),      # assassino
(u'\\b([aA])sseragli(\w+)\\b', r'\1sserragli\2'),  # RARO?    # asseragliare
(u'\\b([aA])ssistir(\w+)\\b', r'\1ssister\2'),     # assistire --> assistere
(u'\\b([aA])segnat(o|i|e|a)\\b', r'\1ssegnat\2'),  # RARO?    # assegnare
#RARO (u'\\b([aA])suefa(\w+)\\b', r'\1ssuefa\2'),
(u'\\b([aA])ssulut(\w+)\\b', r'\1ssolut\2'),        # assulut* -> assolut*
(u'\\b([aA])travers(\w+)\\b', r'\1ttravers\2'), # RARO?    # attraversare
(u'\\b([aA])trezz(\w+)\\b', r'\1ttrezz\2'),      # RARO?    # attrezzare
(u"\\b([aA])ttivit(a\'|a’|a`|á|a)", r'\1ttività'),     # attivita --> attività
(u"\\b([aA])utorit(a\'|a’|a`|á)", r'\1utorità'),     # autorita --> autorità
(u'\\b([aA])venne\\b', r'\1vvenne'),            # avenne --> avvenne
(u"\\b([aA])vr(a\'|a’|a`|á)(?!')(?!s)", r'\1vrà'),    # avra --> avrà
(u'\\b([aA])vver(a\'|a’|a`|à|á)\\b', r'\1vverrà'),

(u'\\b([bB])ancherell(a|e)\\b', r'\1ancarell\2'),
(u'\\b([rR]i)?([bB])at(t?)ez(z?)(a|o|ò|i|ata|ato|ati|ate|ando|erà|eranno)\\b', r'\1\2attezz\5'), # battezzare
# Troppe eccezioni (u'\\b([bB])ellisim(a|i|e|o)\\b', r'\1ellissim\2'),
(u'\\b([bB])eneficienz(a|e)\\b', r'\1eneficenz\2'),
(u'\\b([bB])enchè\\b', r'\1enché'),
(u'\\b([bB])olscevici\\b', r'\1olscevichi'),
(u'\\b([bB])reccie\\b', r'\1recce'),
(u'\\b([bB])rucier(\w+)\\b', r'\1rucer\2'),

(u'\\b([cC])(hec|ioc|omec|onciofosse|ontutto|osic|otal)chè\\b', r'\1\2ché'),
(u'\\b([cC])ammuffa(\w+)\\b', r'\1amuffa\2'),
#(u'\\b([cC])apocannonieri\\b', r'\1apicannonieri'),    # capocannonieri -> capicannonieri
(u'\\b([cC])apuologo\\b', r'\1apoluogo'),    # capuologo -> capoluogo
(u'\\b([cC])ar(r?)eg(g?)iat(a|e)\\b', r'\1arreggiat\4'), # Careggiata | Carregiata -> Carreggiata
(u'\\b([cC])asamatte', r'\1asematte'),    # casamatte -> casematte
(u'\\b\[\[([cC])ategory:\\b', r'\[\Categoria:'),                                                               
(u"\\bci(o'|o'|o’|o´|o`|o)([\W])", r'ciò\2'),    # cio --> ciò
(u'\\b([cC])ioé\\b', r'\1ioè'),
(u'\\b([cC])haffeur\\b', r'\1hauffer'),        # chaffeur --> chauffeur
(u'\\b([cC])iotol(i|o)\\b', r'\1iottol\2'),    # ciotoli -> ciottoli
(u"\\b([cC])itt(a\'|a’|a‘|a`|á|a) ", r'\1ittà '),     # citta' --> città
(u'\\b([cC])lichè\\b', r'\1liché'),  # clichè --> cliché
(u'coaugul(.*)\\b', r'coagul\1'),    # coaugulo --> coagulo
(u'\\b([cC])oefficen(\w+)\\b', r'\1oefficien\2'),      # coefficiente
(u'\\b([cC])o(l?)lezzion(\w+)\\b', r'\1ollezion\3'),   # collezione
(u'\\b([cC])olluttor(i|io)\\b', r'\1ollutor\2'),       # collutorio
(u'\\b([cC])ollutazion(e|i)\\b', r'\1olluttazion\2'), # collutazione -> colluttazione
(u'\\b([cC])olonell(i|o)\\b', r'\1olonnell\2'),        # colonnello
(u'\\b([cC])omincier(a\'|a’|a‘|a`|á|à|a)\\b', r'\1omincer\2'),    # Comincerà
(u'\\b([cC]om|)([pP])ropi(o|età|etari|etari[aeo])\\b', r'\1\2ropri\3'), # Proprietà, comproprietà
(u'\\b([iI]n|)([cC])ompresion(e|i)\\b', r'\1\2omprension\3'), # Compresione --> Comprensione # RARO?
(u'\\b([cC])ommisar(i|io|ia|iato)\\b', r'\1ommissar\2'),        # commisario --> commissario
(u'\\b([cC])om(m?)unit(a\'|a’|a‘|a`|á|a)([\W])', r'\1omunità\4'),        # communità --> comunità
(u'\\b([cC])onoscienz(\w+)\\b', r'\1onoscenz\2'),
(u'\\b([cC])onp(\w+)\\b', r'\1omp\2'), # DA TESTARE
(u'\\b([cC])onnubb(io|i)\\b', r'\1onnub\2'),
(u'\\b([cC])onsequenz(a|e)\\b', r'\1onseguenz\2'),    # consequenz* --> conseguenz*
(u'\\b([cC])ontentent(e|i)\\b', r'\1ontenent\2'),      # contentente ---> contenente
(u'\\b([cC])ontradistin(\w+)\\b', r'\1ontraddistin\2'), # contradistinguere ---> contraddistinguere
(u'\\b([cC])ontrol(a|i|o)\\b', r'\1ontroll\2'),
(u'\\b([cC])onvizion(\w+)\\b', r'\1onvinzion\2'),
(u'\\b([cC])onclu(\w+) infine\\b', r'\1onclu\2'),    # conclu* infine -> conclu*
(u'\\b([cC])orrezzion(\w+)\\b', r'\1orrezion\2'),
(u'\\b([cC])ronostori(\w+)\\b', r'\1ronistori\2'),
(u'\\b(cC)oscenz(\w+)\\b', r'\1oscienz\2'),
(u"\\b([cC])os(i'|i’|i`|í|i)([\W])", r'\1osì\3'),     # cosi -> così
(u'\\b([cC])os(i|ì)ch(è|é|e|)\\b', r'\1osicché'),
(u'\\b([cC])os(i|ì)dett(o|i|e|a)\\b', r'\1osiddett\3'),
(u'\\b([cC])ospiqu(o|i|e|a)\\b', r'\1ospicu\2'),
# coverizzare -> reinterpretare
(u'\\bcoverizzare\\b', r'reinterpretare'),
(u'\\bcoverizza(.*?)\\b', r'reinterpreta\1'),

(u'\\b([dD])al (agosto|aprile|inizio|interno|ottobre)\\b', r"\1all'\2"), # Dall'
(u'\\b([dD])a(n?)neg(g)?ia(.*?)\\b', r'\1anneggia\4'),
(u'\\b([dD])(ac|appoi|imodo|opo|opodi)chè\\b', r'\1\2ché'),
(u'\\b([dD])(accordo|altronde)\\b', r"\1'\2"), # d'accordo e d'altronde
(u'\\b([dD]e|[cC]oef)ficen(za|te|ti)\\b', r'\1ficien\2'), # Deficienza - Coefficienza
(u'\\b([dD])eceller(\w+)\\b', r'\1eceler\2'),
(u'\\b([dD])efinitv(\w+)\\b', r'\1efinitiv\2'),   # definitvo --> definitivo
#RARO (u'\\b([dD])elgli\\b', r'\1egli'),        #delgli -> degli
(u'\\b([dD])eliquen(\w+)\\b', r'\1elinquen\2'), # deliquente --> delinquente
(u'\\b([dD])[è|e]pliant\\b', r'\1épliant'),     # dépliant
(u'\\b([dD])icianov(\w+)\\b', r'\1iciannov\2'),
(u'\\b([dD])iciasett(\w+)\\b', r'\1iciassett\2'),
(u"\\b([dD])ifficolt(a'|a’|a‘|a`|a´|á|a)", r'\1ifficoltà'),     # difficolta' --> difficoltà
(u'\\b([dD])imenzion(\w+)\\b', r'\1imension\2'),
(u'\\b([dD])iminuizion(e|i)\\b', r'\1iminuzion\2'),     # diminuizione --> diminuzione
(u'\\b([dD])iretric(\w+)\\b', r'\1irettric\2'),
(u'\\b([dD])opodichè\\b', r'\1opodiché'),
(u"\\b([dD])ovr(a\'|a’|a`|á)", r'\1ovrà'),     # dovra --> dovrà

(u'(\\b|\\.)e(\'|’|`|\') ', r'\1è '),
(u'(\\b|\\.)E(\'|’|`) ', r'\1È '),
(u'\\b([eE])c(c?)es(s?)iv(\w+)\\b', r'\1ccessiv\4'),
(u'\\b([eE])ccelenz(a|e)\\b', r'\1ccellenz\2'),    # eccelenza --> eccellenza
(u'\\b([eE])ccezzion(\w+)\\b', r'\1ccezion\2'),
(u'\\b([eE])dinburgo\\b', r'\1dimburgo'),
(u'\\b([eE])f(f?)et(t?)ua(.*?)\\b', r'\1ffettua\4'),
(u'\\b([eE])fficacie\\b', r'\1fficace'),       # efficace
(u'\\belit[è|é]\\b', r'élite'), # élite
(u'\\be[m|n]passe\\b', r'impasse'),
(u'\\b([eE])ntro e non oltre\\b', r'\1ntro'),          # entro e non oltre -> entro
(u'\\b([eE])ntrambe i (brani)\\b', r'\1ntrambi i \2'),          # Entrambe i -> Entrambi i
(u'\\b([eE])spozion(e|i)\\b', r'\1sposizion\2'),        # espozione --> esposizione
#RARO (u'\\b([eE])ssendochè\\b', r'\1ssendoché'),
#RARO (u'\\b([eE])ssenzialemente\\b', r'\1ssenzialmente'),   # essenzialemente -> essenzialmente
(u'\\b([eE])s(s?)(i|e)c(c?)at(.*?)\\b', r'\1ssiccat\5'),
(u'\\b([eE])sterefa(\w+)\\b', r'\1sterrefa\2'),
(u'\\b([eE])vaqua(re|[t][oiae]|zione)\\b', r'\1vacua\2'),
(u'\\b([eE])xtraterrest(e|i)\\b', r'\1xtraterrestr\2'),    # extraterreste --> extraterrestre

(u'\\b([fF])accie\\b', r'\1acce'),
(u'\\bfar(a\'|a’|a‘|a`|á)([\W][^\]])', r'farà\2'),    # fara -> farà
(u'\\b([fF])ar si che\\b', r'\1ar sì che'),
(u'\\b([fF])inalemente\\b', r'\1inalmente'), # finalemente -> finalmente
(u'\\b([fF])ittizzi(.*?)\\b', r'\1ittizi\2'),
(u'\\b([fF])iun(e|i)\\b', r'\1ium\2'),        # fiune -> fiume
(u'\\b([fF])(inattanto|intanto|inac|inattanto|in|uor)chè\\b', r'\1\2ché'),
(u"\\b([fF])ond(o'|o’|o`|o′|ó)([\W])", r'\1ondò\3'),     # fondo' --> fondò
(u'\\b([fF])ratempo\\b', r'\1rattempo'),
(u'\\b([fF])uoriscit(\w+)\\b', r'\1uoriuscit\2'),    # fuoriscito -> fuoriuscito
(u'\\bfurno\\b', r'furono'),    # furno -> furono

(u"\\b([gG])es(u'|u’|u`|u´|ú|u`|u)([\W])", r'Gesù\3'),     # Gesu -> Gesù
(u'\\b([gG])(iac|ran|iafosse|iafossecosa)chè\\b', r'\1\2ché'),
(u"\\b([gG])i(a'|a’|a‘|a`|á)([\W])", r'\1ià\3'),    # gia -> già
(u'\\b([gG])ioell(o|i|iere|ieri)\\b', r'\1ioiell\2'),    # gioello -> gioiello
(u'\\b([gG])iubott(\w+)\\b', r'\1iubbott\2'),    # giubotto -> giubbotto
#RARO (u'\\b([gG])ravamente\\b', r'\1ravemente'),    # gravamente -> gravemente
(u'\\b([gG])uardiaboschi\\b', r'\1uardaboschi'),    # guardiaboschi -> guardaboschi

# hostare -> ospitare
(u'\\bhostare\\b', r'ospitare'),
(u'\\bhostat(.*?)\\b', r'ospitat\1'),

(u'\\b([iI])mpiccaggion(i|e)\\b', r'\1mpiccagion\2'),    # impiccaggione --> impiccaggione
(u'\\b([iI])ncoscen(\w+)\\b', r'\1ncoscien\2'),
(u'\\b([iI])ndizzi(.*?)\\b', r'\1ndizi\2'),
(u'\\b([iI])(nfinattanto|nquanto)chè\\b', r'\1\2ché'),
(u'\\b([iI])nbra(\w+)\\b', r'\1mbra\2'),
(u'\\b([iI])ndiped(\w+)\\b', r'\1ndipend\2'),          # indipedente --> indipendente
(u'\\b([iI])nfermieri(a|e)\\b', r'\1nfermeri\2'),    # infermieria --> infermeria
(u'\\b([iI])gen(e|ic[oai]|iche)\\b', r'\1gien\2'),
(u'\\b([iI])nefficen(\w+)\\b', r'\1nefficien\2'),
(u'\\b([iI])ngenier(e|i)\\b', r'\1ngegner\2'),
(u'\\b([iI])nnaugu(\w+)\\b', r'\1naugu\2'),     # innaugu* --> inaugu*
(u'\\b([iI])nnoqu(i|o|a|e)\\b', r'\1nnocu\2'),
(u'\\b([iI])nped(\w+)\\b', r'\1mped\2'),
(u'\\b([iI])npugn(\w+)\\b', r'\1mpugn\2'),
(u'\\b([iI])nsuc(c?)es(s?)(\w+)\\b', r'\1nsuccess\4'),  # insucess* --> insuccess*
(u'\\b([iI])nsuffice(\w+)\\b', r'\1nsufficie\2'),
(u'\\b([iI])nte(l?)li(g?)g(i?)en(te|ti|za)\\b', r'\1ntelligen\5'), #RARO?
(u'\\b([iI])nteraz(z?)ial(e|i)\\b', r'\1nterrazzial\3'),    # Interazziale --> Interrazziale
(u'\\b([iI])nter(r?)ut(t?)or(e|i)\\b', r'\1nterruttor\4'),    # Interuttore --> Interruttore
#RARO (u'\\b([iI])nterruzzion(\w+)\\b', r'\1nterruzion\2'),
(u'\\b([iI])nzio\\b', r'\1nizio'),    # inzio -> inizio

#TROPPE ECCEZIONI (u'\\b([iI]l|)leg(g?)it(t?)im(o|i|e|a)\\b', r'\1legittim\4'),    # legitimo, leggittimo --> legittimo
(u'\\b([iI]n|)([cC])oscen(za|te|ti)\\b', r'\1\2oscien\3'),      # (in)coscienza
(u'\\b([iI]n|)([sS])ufficen(za|te|ti)\\b', r'\1\2ufficien\3'), # (in)sufficienza
(u'\\b([iI])ntervendo\\b', r'\1ntervenendo'),    # intervendo -> intervenendo
#RARO (u'\\b([iI])rridentis(\w+)\\b', r'\1rredentis\2'),     # irridentis* -> irredentis*
(r'italia\\b', r'Italia'),     # italia* -> Italia
(r'ISNB', r'ISBN'),     # ISNB -> ISBN

(u'([jJ])ava([sS])cript', r'JavaScript'), #javascript --> JavaScript

(u'\\b([lL])ascier(\w+)\\b', r'\1ascer\2'),
#(u'\\b([lL])eg(g?)it(t?)im(\w+)\\b', r'\1egittim\4'),
(u'\\b([lL])ibreria del [Cc]ongresso\\b', r'Biblioteca del Congresso'),
(u'\\b([lL])ibricin(\w+)\\b', r'\1ibriccin\2'),
(u'\\b([lL])ontant(o|i|e|a)\\b', r'\1ontan\2'), # lontanto --> lontano

(u'\\b([mM])acchè\\b', r'\1acché'),
(u'\\b([mM])agazin(i|o|iere|ieri|iera|iere)\\b', r'\1agazzin\2'),
(u'([mM])aggiorparte', r'\1aggior parte'),     # Maggiorparte --> Maggior parte
(u'\\b([mM])alvage\\b', r'\1alvagie'),
(u'\\b([mM])arciaped(i|e)\\b', r'\1arciapied\2'),    # marciapede --> marciapiede
(u'\\b([mM])enager\\b', r'\1anager'), # Manager
(u'\\b([mM])aneggievol(\w+)\\b', r'\1aneggevol\2'),
(u'\\b([mM])enbr(o|i|e|a)\\b', r'\1embr\2'),
#RARO (u'\\b([mM])enscevici\\b', r'\1enscevichi'),
(u'\\b([mM])eridonal(\w+)\\b', r'\1eridional\2'),    # meridonale -> meridionale
#RARO (u'\\b([mM])antendend(\w+)\\b', r'\1antenend\2'),    # mantendendo -> mantenendo
(u"\\b([mM]?)et(a\'|a’|a‘|a`|á)([\W])", r'\1età\3'),     # meta' --> metà - età
(u'\\b([mM])etereolog(\w+)\\b', r'\1eteorolog\2'),     # meteoreologia
(u'\\b([mM])illionar(\w+)\\b', r'\1ilionar\2'),
(u'\\b([mM])inaccie\\b', r'\1inacce'),
#RARO (u'\\b([mM])uscial(i|e)\\b', r'\1usical\2'),    # muscial* -> musical*
(u'\\bil moniker\\b', r'il soprannome'), # moniker -> soprannome
(u'\\bi moniker\\b', r'i soprannomi'),

#RARO (u'\\b([nN])enache\\b', r'\1eanche'),                      # nenache -> neanche
(u'\\b([nN])eccess(\w+)([\W])', r'\1ecess\2\3'),
(u'\\b([nN])el ([pP])aesi\\b', r'\1ei \2aesi'),
(u'\\b([nN])ei ([pP])aese\\b', r'\1ei \2aesi'),
(u'\\b([nN])essun(\'|’|`)altr(o|i)\\b', r'\1essun altr\3'),  # nessun'altro --> nessun altro
(u"\\b([nN])on(so|)ch(è|e'|e’|e`|e)([\W])", r'\1on\2ché\4'),
(u'\\b([nN])on(on|)stante\\b', r'\1onostante'),
(u'\\b([nN])orvegies(\w+)\\b', r'\1orveges\2'),

(u'\\b([oO])(ltre|nde)chè\\b', r'\1\2ché'),
(u'\\b([oO])norefic(i?)enz(e|a)\\b', r'\1norificenz\3'),
(u'\\b([oO])rganizazion(e|i)\\b', r'\1rganizzazion\2'),    # organizazione --> organizzazione
(u'\\b([oO])rificeri(a|e)\\b', r'\1reficeri\2'),    # orificeria --> oreficeria
(u'\\b([oO])rsono\\b', r'\1r sono'),        # orsono --> or sono
(u'\\b([oO])ttenero\\b', r'\1ttennero'),    # ottenero --> ottennero
(u'\\b([oO])(sè|sée)\\b', r'\1sé'),    # osé
(u'\\b([oO])vverossia\\b', r'\1vverosia'),


(u"\\b([pP])(oi|resso|ur)ch(è|e'|e’|e`|e)([\W])", r'\1\2ché\4'),     # Poiché, Pressoché, Purché
(u'\\b([pP])alazetto\\b', r'\1alazzetto'),   # palazetto --> palazzetto
(u'\\b([pP])almarés\\b', r'\1almarès'), # Palmarés --> Palmarès
(u'\\b([pP])annel(o|i)\\b', r'\1annell\2'),
(u'\\b([pP])aralell(a|e|i|o)\\b', r'\1arallel\2'), # parallelo
(u'\\b([pP])ar(r?)oc(c?)hi(a|e)\\b', r'\1arrocchi\4'),        # parocchia
(u'\\b([pP])ar(r?)uc(c?)hier(a|e|a|i)\\b', r'\1arrucchier\4'),        # paruchiere --> parrucchiere
#RARO (u'\\b([pP])articolarmodo\\b', r'\1articolar modo'),    # particolarmodo -> particolar modo

(u'\\b([pP])articoalr(\w+)\\b', r'\1articolar\2'),    # particoalr -> particolar
(u'\\b([pP])erloppiù\\b', r'\1erlopiù'),
(u"\\bper(cioc|lo|oc|)ch(è|e'|e’|e`|e)([\W])", r'per\1ché\3'),    # perché, percioché, perloché, peroché
(u"\\b([pP])erci(o'|o’|o`|o′|ó|o)([\W])", r'\1erciò\3'),     # percio' -> perciò
(u'\\b([pP])ercui\\b', r'\1er cui'),    # percui -> per cui
#RARO (u'\\b([pP])erfavore\\b', r'\1er favore'),    # perfavore -> per favore
(u"\\b([pP])er(o'|o’|o`|o′|ó)([\W])", r'\1erò\3'),     # pero' -> però
(u'\\b([pP])ertando\\b', r'\1ertanto'),    # pertando -> pertanto
(u'\\b([pP])erosna(\w+)\\b', r'\1ersona\2'),         # perosna* -> persona*
(u'\\bpicozz(a|e)', r'piccozz\1'),    # picozza -> piccozza (solo minuscola per evitare i nomi propri)
(u'\\b([pP])ioggie\\b', r'\1iogge'),
(u"\\b([pP])i(u'|u’|u`|u´|ú|u`|u)([\W])", r'\1iù\3'),     # piu -> più
(u'\\b([pP])oliomelit(e|i)\\b', r'\1oliomielit\2'),
# troppe eccezioni dovute a Ligabue (u'\\b([pP])lexiglass\\b', r'\1lexiglas'),     # plexiglass -> plexiglas
(u'\\b([pP])oli(zo|zzio)tt(\w+)\\b', r'\1oliziott\3'),    # Poliziotto
(u'\\b([pP])orgett(\w+)\\b', r'\1rogett\2'),           # porgetto --> progetto
(u'\\bporter(a\'|a’|a`|a‘|á|a)([\W])', r'porterà\2'),        # portera' --> porterà
(u'\\b([pP])ossibil(i?)t(a\'|a’|a‘|a`|a`|á|a)([\W])', r'\1ossibilità\4'),    # possibilià -> possibilità
(u'\\b([Èè]) possibili ', r'\1 possibile '),    # possibilià -> possibilità
(u'\\b([pP])redirre\\b', r'\1redire'),    # Predirre --> Predire
(u'\\b([pP])regievol(\w+)\\b', r'\1regevol\2'),
#RARO (u'\\b([pP])recendet(\w+)\\b', r'\1recedent\2'),    # precendete -> precedente, precendetemente -> precedentemente
(u'\\b([pP])resn(e?)t(\w+)\\b', r'\1resent\3'),         # presnti* -> presenti*
(u'\\b([pP])ressapoc(\w+)\\b', r'\1ressappoc\2'),
(u'\\b([pP])ressocch(è|e)\\b', r'\1ressoché'),
#RARO (u'\\b([pP])revalentamente\\b', r'\1revalentemente'),    # prevalentamente -> prevalentemente
#RARO (u'\\b([pP])revaletemente\\b', r'\1revalentemente'),    # prevaletemente -> prevalentemente
#RARO (u'\\b([pP])revileg(\w+)\\b', r'\1rivileg\2'),    # previleg* -> privileg*
(r'primo debutto', r'debutto'),        # primo debutto -> debutto
(u'\\b([pP])(rincipale protagonista|rotagonista principale)\\b', r'\1rotagonista'),    # principale protagonista -> protagonista
(u'\\b([pP])(rincipa|v)lemente\\b', r'\1\2lmente'),    # principalemente -> principalmente probabilemente --> probabilmente
(u'\\b([pP])robizion(\w+)\\b', r'\1roibizion\2'),    # probizion* --> proibizion*

(u'\\b([pP])ronuciat(a|e|i|o)\\b', r'\1ronunciat\2'),    # Pronunciato

(u'\\b([cC]om|)([pP])(rop|rorp)i(o|a|e|età|etari|etari[aeo])\\b', r'\1\2ropri\4'), # Proprietà
(u'\\b([pP])rospicent(e|i)\\b', r'\1rospicient\2'),
#RARO (u'\\b([pP])(rofi|romis)qu(o|a|e|i)', r'\1\2\cu\3'), # proficuo - promiscuo
(u'\\b([pP])roseguio\\b', r'\1rosieguo'),      # prosieguo
(u'\\b([pP])roveniendo\\b', r'\1rovenendo'), # provenendo
#RARO (u'\\bpseudonom(\w+)\\b', r'pseudonim\1'), # pseudonomi -> pseudonimi
#TROPPE ECCEZIONI #(u"\\b([pP])ublic(\w+)", r'\1ubblic\2'),     # publico -> pubbiclo, publicare -> pubblicare
(u"\\b([pP])ublicat(i|e|o|a)\\b", r'\1ubblicat\2'),     # publicato -> pubbiclato
(u"\\b([pP])ubblicit(a\'|a’|a‘|a`|à|á|a)([\W])", r'\1ubblicità\3'),     # Pubblicità
(u"\\b([pP])ublicizz(\w+)\\b", r'\1ubblicizz\2'),     # publicizza -> pubblicizza
(u"\\b([pP])u(o'|o’|o`|o′|ó|o)([\W])", r'\1uò\3'),     # puo -> può

#RARO (u'\\b([qQ])ua(nto|si)chè\\b', r'\1ua\2ché'),
(u'\\b([qQ])ualcun\'altro\\b', r'\1ualcun altro'),     # qualcun'altro -> qualcun altro
(u'\\b([qQ])ual\'(ora|era|è)\\b', r'\1ual \2'),     # qual'è -> qual è, qual'era -> qual era, qual'ora -> qualora
(u"\\b([qQ])ualit(a\'|a’|a‘|a`|à|á|a)([\W])", r'\1ualità\3'),         # qualità
(u"\\b([qQ])uantit(a\'|a’|a‘|a`|à|á|a)([\W])", r'\1uantità\3'),     # quantità
(u'\\b([qQ])uattrodic(\w+)\\b', r'\1uattordic\2'),     # quattrodic* -> quattordic*
(u'\\b([qQ])eust(\w+)\\b', r'\1uest\2'),               # qeust* -> quest*
(u'\\b([rR])ad(d?)op(p?)i(\w+)\\b', r'\1addoppi\4'),
(u'\\b([rR])agiun(\w+)\\b', r'\1aggiun\2'),    # ragiungere -> raggiungere
(u'\\b([rR])aggin(\w+)\\b', r'\1aggiun\2'),     # raggingere -> raggiungere
(u'\\braport(o|i)\\b', r'rapport\1'),     # raporto --> rapporto
(u'\\b([rR])ealiza(re|te|ti|to|ta)\\b', r'\1ealizza\2'),  # realizare --> realizzare
(u"\\b([rR])e(al|la)t(a\'|a’|a‘|a`|à|á|à)", r'\1ealtà'),   # relatà -> realtà
(u"\\b([rR])elativemente\\b", r'\1elativamente'),     # relativemente --> relativamente
(u'\\b([rR])ecenzion(e|i)\\b', r'\1ecension\2'),
(u'\\b([rR])eminescenz(a|e)\\b', r'\1eminiscenz\2'),# reminescenz* --> reminiscenz*
(u'\\b([rR]i|)([cC])onoscien(za|te|ti)\\b', r'\1\2onoscen\3'), # (ri)conoscienza -> conoscenza
(u'\\b([rR])icorpert(a|e|i|o)\\b', r'\1icopert\2'),# ricorperto --> ricoperto
(u'\\b([rR])ilascier(\w+)\\b', r'\1ilascer\2'),    # rilascier* -> rilascer*
(u'\\b([rR])igurd(\w+)\\b', r'\1iguard\2'),    # rigurd* -> riguard*
(u'\\b([rR])iuscer(\w+)\\b', r'\1iuscir\2'),    # riuscer* -> riuscir*
(u'\\b([rR])iusce\\b', r'\1iesce'),    # riusce* -> riesce*

#RARO (u'\\b([rR])ingrazzi(.*?)\\b', r'\1ingrazi\2'),
#RARO #(u'\\b([rR])innomat(\w+)\\b', r'\1inomat\2'),        # rinnomato --> rinomato
#RARO #(u'\\b([rR])innomin(\w+)\\b', r'\1inomin\2'),      # rinnominare --> rinominare
#RARO #(u'\\b([rR])iperquot(\w+)\\b', r'\1ipercuot\2'),
#RARO #(u'\\b([rR])ivista(t|zion)(a|i|o|e)([\W])', r'\1ivisita\2\3'),    # rivistata --> rivisitata, rivistazione --> rivisitazione

(u"\\bsar(a\'|a’|a‘|a`|à|á)([\W])", r'sarà\2'),     # sara' --> sarà
(u'\\b([sS])chizzofreni(\w+)\\b', r'\1chizofreni\2'),
(u'\\b([sS])ep(p?)el(l?)i(.*?)\\b', r'\1eppelli\4'),
(u'\\b([sS])centific(\w+)\\b', r'\1cientific\2'),  # scientifico
(u'\\b([sS])cenz([a|e|ia|ie|iato|iati|iata|iate])', r'\1cienz\2'),    # scenzia --> scienzia
(u'\\b([sS])enonch[è|é]([\W])', r'\1ennonché\2'),
(u'\\b([sS])erivi(zi|zio)\\b', r'\1ervi\2'),    # serivizio -> serivizio, serivito -> servito
(u'\\b([sS])ettentronal(\w+)\\b', r'\1ettentrional\2'),    # settentronale -> settentrionale
(u'\\b([sS])i(f?)fat(t?)(\w+)\\b', r'\1iffatt\4'),
(u'\\b([sS])oprat(t?)ut(t?)(o|i|e)\\b', r'\1oprattutt\4'),
(u'\\b([sS])opranatu(\w+)\\b', r'\1oprannatu\2'),
(u'\\b([sS])opranom(\w+)\\b', r'\1oprannom\2'),        # soprannome
(u'\\b([sS])oprav(v?)is(s?)(\w+)\\b', r'\1opravviss\4'),    # sopravvissuto
(u'\\b([sS])piaggie\\b', r'\1piagge'),
(u'\\b([sS])otter(r?)a(.*?)\\b', r'\1otterra\3'),
(u'\\b([sS])ovraprezz(\w+)', r'\1ovrapprezz\2'),    # sovraprezzo -> sovrapprezzo
(u"\\b([sS])post(o'|o’|o`|o′|ó)([\W])", r'\1postò\3'),     # sposto' -> spostò
(u'\\b([sS])tat(iun|uin|iuni)tens(\w+)\\b', r'\1tatunitens\3'), #statiunitens statuintens --> statunitens
(u'\\b([sS])uprattuto\\b', r'\1oprattutto'),
(u'\\bsudett(\w+)\\b', r'suddett\1'),                  # sudetto -> suddetto
(u'\\b([sS])ug(g?)el(l?)(\w+)\\b', r'\1uggell\4'),     # suggellare
(u'\\b([sS])usp[e|a]nce\\b', r'\1uspense'), # suspense

(u'\\b([tT])er(r?)it(t?)or(\w+)\\b', r'\1erritor\4'),             # territorio
(u'\\b([tT])ranquil(l?)iz(z?)(\w+)\\b', r'\1ranquillizz\4'),     # tranquilizzare -> tranquillizzare, tranquillizare -> tranquillizzare
(u'\\b([tT])on(n?)el(l?)at(a|e)\\b', r'\1onnellat\4'),     # Tonnellata
(u'\\b([tT])ourn(ee|eé|eè|ees|eés|eès|èe|èes)\\b', r'\1ournée'), # tournée
(u'\\b([tT])raccie\\b', r'\1racce'),                   # traccie -> tracce
(u'\\b([tT])ralaltro\\b', r"\1ra l'altro"),
(u"\\b([tT])rov(o'|o’|o`|o′|ó)([\W])", r'\1rovò\3'),     # trovo' -> trovò
(u"\\b([tT])riologia", r'\1rilogia'),     # Triologia -> Trilogia
(u'\\b([tT])uttoggi(?!(.info))', r"\1utt'oggi"), # tutt'oggi
(u'\\b([tT])utt(uno|altro)\\b', r"\1utt'\2"), # tutt'uno tutt'altro

(u'\\b([uU])na stato\\b', r'\1no stato'),     # Uno stato
(u'\\b([uU])na altro\\b', r'\1n altro'),     # Uno altro
(u'\\b([uU])lteriol(mente|i|e)\\b', r'\1lterior\2'),     # Ulteriolmente --> Ulteriormente
(u'\\b([Uu])n\'(altro|amico|animale|apposito|uomo)\\b', r'\1n \2'),     # Un maschile con apostrofo
(u'\\b([Uu])n (altra|apposita|era|ipotesi)\\b', r"\1n'\2"),     # Un femminile senza apostrofo
(u'\\b([Uu])n p(ò|ó)\\b', r"\1n po'"), # Un po'
(u'\\b([Uu])niversal ([Ss])erial ([Bb])us|USB\\b', r'USB'), # USB
(u'\\b([Uu])sc(i\'|i’|í|i`)([\W])', r'\1scì\3'),    # usci' -> uscì (Da testare)
(u'\\b([Uu])tlizzat([a|e|i|o])\\b', r'\1tilizzat\2'), # utlizzat* --> utilizzato

(u"\\b([vV])(erit|elocit)(a\'|a’|a‘|a`|á)", r'\1\2à'),     # verità - velocità

#(u'\\b(verran(n?)o)\\b', r'verranno'),    Troppe eccezioni per lo spagnolo
(u'\\bveran(n?)o\\b', r'verranno'),
(u'\\b([vV])al d\'Aosta\\b', r"Valle d'Aosta"),        # Val d'Aosta --> Valle d'Aosta
(u'\\b([vV])ideclip\\b', r'\1ideoclip'),        # videclip --> videoclip
(u'\\b([vV])illagi(o?)\\b', r'\1illaggi\2'),        # villagio --> villaggio
(u'\\b([vV])olont(a\'|a’|a‘|a`|á)', r'\1olontà'),        # volonta' --> volontà

(u'\\b([yY])ou([tT])ube([^(.com|r)])\\b', r'YouTube\3'), # youyube --> YouTube

(r'Zimbawe', r'Zimbabwe'),        # Zimbawe --> Zimbabwe

#(u'<<', r'«'),
#(u'>>', r'»'),
(u'[Kk]m[q2]', r'km²'), #(u'[Kk]m[q2][\.?]', r'km²'),
(r'\'\'\'Testo in grassetto\'\'\'', r''),
 
 # Nomi stranieri
#(r'Istambul', r'Istanbul'),     # Istambul -> Istanbul
(r'[Pp]hilarmonic', r'Philharmonic'),     # Philarmonic -> Philharmonic
(r'[Pp]hilarmoniker', r'Philharmoniker'),     # Philarmoniker -> Philharmoniker

##Da fixes.py
            # replace <br> with a new line
            (r'(?i)<br>',                      r'\n'),
            # replace &nbsp; with a space
            (r'(?i)&nbsp;',                      r' '),

            # Everything case-insensitive (?i)
            # Keep in mind that MediaWiki automatically converts <br> to <br />
            # when rendering pages, so you might comment the next two lines out
            # to save some time/edits.
            #(r'(?i)<br>',                      r'<br />'),
            # linebreak with attributes
            #(r'(?i)<br ([^>/]+?)>',            r'<br \1 />'),
            (r'(?i)<b>(.*?)</b>',              r"'''\1'''"),
            (r'(?i)<strong>(.*?)</strong>',    r"'''\1'''"),
            (r'(?i)<i>(.*?)</i>',              r"''\1''"),
            (r'(?i)<em>(.*?)</em>',            r"''\1''"),
            # horizontal line without attributes in a single line
            (r'(?i)([\r\n])<hr[ /]*>([\r\n])', r'\1----\2'),
            # horizontal line without attributes with more text in the same line
            #(r'(?i) +<hr[ /]*> +',             r'\r\n----\r\n'),
            # horizontal line with attributes; can't be done with wiki syntax
            # so we only make it XHTML compliant
            (r'(?i)<hr ([^>/]+?)>',            r'<hr \1 />'),
            # a header where only spaces are in the same line
            (r'(?i)([\r\n]) *<h1> *([^<]+?) *</h1> *([\r\n])', r"\1= \2 =\3"),
            (r'(?i)([\r\n]) *<h2> *([^<]+?) *</h2> *([\r\n])', r"\1== \2 ==\3"),
            (r'(?i)([\r\n]) *<h3> *([^<]+?) *</h3> *([\r\n])', r"\1=== \2 ===\3"),
            (r'(?i)([\r\n]) *<h4> *([^<]+?) *</h4> *([\r\n])', r"\1==== \2 ====\3"),
            (r'(?i)([\r\n]) *<h5> *([^<]+?) *</h5> *([\r\n])', r"\1===== \2 =====\3"),
            (r'(?i)([\r\n]) *<h6> *([^<]+?) *</h6> *([\r\n])', r"\1====== \2 ======\3"),
            # TODO: maybe we can make the bot replace <p> tags with \r\n's.

 
            # external link in double brackets
            (r'\[\[(?P<url>https?://[^\]]+?)\]\]',   r'[\g<url>]'),
            # external link starting with double bracket
            (r'\[\[(?P<url>https?://.+?)\]',   r'[\g<url>]'),
            # external link with forgotten closing bracket
            #(r'\[(?P<url>https?://[^\]\s]+)\r\n',   r'[\g<url>]\r\n'),
            # external link and description separated by a dash, with
            # whitespace in front of the dash, so that it is clear that
            # the dash is not a legitimate part of the URL.
            (r'\[(?P<url>https?://[^\|\] \r\n]+?) +\| *(?P<label>[^\|\]]+?)\]', r'[\g<url> \g<label>]'),
            # dash in external link, where the correct end of the URL can
            # be detected from the file extension. It is very unlikely that
            # this will cause mistakes.
            (r'\[(?P<url>https?://[^\|\] ]+?(\.pdf|\.html|\.htm|\.php|\.asp|\.aspx|\.jsp)) *\| *(?P<label>[^\|\]]+?)\]', r'[\g<url> \g<label>]'),

            # external link with forgotten closing bracket
            #(r'\[(?P<url>https?://[^\]\s]+)\r\n',  r'[\g<url>]\r\n'),
            # external link ending with double bracket.
            # do not change weblinks that contain wiki links inside
            # inside the description
            (r'\[(?P<url>https?://[^\[\]]+?)\]\](?!\])',   r'[\g<url>]'),
            # external link and description separated by a dash.
            # ATTENTION: while this is a mistake in most cases, there are some
            # valid URLs that contain dashes!
            #(r'\[(?P<url>https?://[^\|\]\s]+?) *\| *(?P<label>[^\|\]]+?)\]', r'[\g<url> \g<label>]'),
            # wiki link closed by single bracket.
            # ATTENTION: There are some false positives, for example
            # Brainfuck code examples or MS-DOS parameter instructions.
            # There are also sometimes better ways to fix it than
            # just putting an additional ] after the link.
            (r'\[\[([^\[\]]+?)\](?!\])',  r'[[\1]]'),
            # wiki link opened by single bracket.
            # ATTENTION: same as above.
            (r'(?<!\[)\[([^\[\]]+?)\]\](?!\])',  r'[[\1]]'),
            # template closed by single bracket
            # ATTENTION: There are some false positives, especially in
            # mathematical context or program code.
            (r'{{([^{}]+?)}(?!})',       r'{{\1}}'),
      
            # wikilink with same text
            (r'(\[\[)([^\[\]\|]*)(\|\2)(\]\])',  r'[[\2]]'),

       ],
        'exceptions': {
                    'inside-tags': [
                                'hyperlink',  
                                #'link',
                                'code',
                                'comment',
                                'timeline',
                                'gallery',
                                'math',
                                'pre',
                                'startspace',
                                'source',
                                'nowiki',
                                'sub',
                                #'ref',
                                #'quote',
                                #'template',
                                #'table',
                        ] ,
                   'inside': [
                r'bgcolor=(\"?)(.*)(\"?)',
                r'border: (.*);',
                r'<code>.*</code>', # because of code examples
                r'[sS]tyle=(\"?)(.*)(\"?)',
                    r'\|[dD]urata(.*)',
                    r'\|[cC]opertina(.*)',
                    r'\|ForzaOrdinamento(.*)',
                    r'\|[iI](mmagine|mage)(.*)',
                    r'\|[lL]ogo(.*)',
                    r'\|[mM]appa(.*)',
                    r'\|[pP]anorama(.*)',
                                r'(?s)<[^>]+>',
                                #r'(?s)\{[^\}]+\}', # Rimosso per modificare i cita libro/pubblicazione
                                r'&[^;]+;',
                                #r'\[[\w\W]+\]',
                                r'(a|d).C.',
                                r'(?i)(s\.n\.c|s\.r\.l|s\.a\.s|s\.p\.a|s\.c\.p\.a)',
                                r'[sS]uperficie_km2',
                                #r'\[\[([Ii]mmagine|[fF]ile|[iI]mage)\:[^\]\|]+?\|', # esclude nome immagine
                                #r'\[\[(:?)([Cc]ategoria):(.*)\]\]', # esclude Categorie
                                #r'\[\[(:?)([Cc]ategory):(.*)\]\]', # esclude Categorie
                                #r'\[\[(:?)([Aa]iuto):(.*)\]\]', # esclude Aiuto
                                #r'\[\[(:?)([Pp]rogetto):(.*)\]\]', # esclude Progetto
                                #r'\[\[(:?)([Ww]ikipedia):(.*)\]\]', # esclude Progetto
                                #r'\[\[(\w\w|\w\w\w|\w\w\w\w|\w\w-\w\w\w|\w\w\w-\w\w|simple)\:[^\]]+?\]\]', # esclude interwiki ad altre lingue
                                r'\[\[(\w\w|\w\w\w|\w\w\w\w|\w\w-\w\w\w|\w\w\w-\w\w|\w\w-\w-\w\w\w|\w\w-\w\w\w-\w\w\w|\w\w\w-\w\w\w|\w\w\w-\w\w\w\w|simple|\w\w-classical|Wikipedia)\:[^\]]+?\]\]',
                r'{{[Cc]oord\|(.*)',
                r'{{ip\|(.*)',
                                r'{{[Ss]ic\|(.*)',
                r'{{[tT]emplate(.*)',
                                r'{{Link AdQ|[\w}]+?}}', # esclude interwiki template interprogetto
                                r'{{[Ii]nterprogetto[^\}]+?}}', # esclude interwiki template interprogetto
                                r'\[\[([Ii]mmagine|[fF]ile)\:[^\]\|]+?\|', # esclude nome immagine
                                r'\[\[(:?)([Ii]mmagine|[Ii]mage|[Ww]ikimedia|[Aa]iuto|[Cc]ategoria|[Cc]ategory|[Pp]rogetto|[Ww]ikipedia|[Ww]|[Ww]iktionary|[Ww]ikt|[Ww]ikinews|n|[Ww]ikibooks|b|[Ww]ikiquote|q|[Ww]ikisource|s|[Ww]ikispecies|v|[Ff]oundation|[Cc]ommons|meta|m|[Ii]ncubator|mw|[Mm]ediazilla):(.*)\]\]', # esclude interwiki a progetti fratelli
                       ],
                    'text-contains': [
                                r'{{cancella subito',
                                r'{{(WIP|wip|Wip)\|',
                                r'Kashyyyk',
                                r'(.*)[rR]sssf(.*)',
                                r'[gG]rrrl',
                                r'fara \(Longobardi\)',
                                r'ffffff',
                                r'fff.fr',
                                r'ppp_g',
                                r'/mmm',
                                r'Eccezzziunale',
                                r'rrringos',
                                r'whitesmalllower',
                                r'xxxHOLiC',
                                r'Schifffah(.*)',
                                r'Pipppero',
                                r'Deee-Lite',
                                r'gruppo spaziale',
                                r"Lil' Kim",
                                r"Vasyl'",
                                r"Černobyl'",
                                r"teritoriālais",
                                r"Ol' Dirty Bastard",
                    ]
        }
   }