Changes between Version 38 and Version 39 of Rules/Portuguese-Errors-PT2


Ignore:
Timestamp:
2024-09-13T23:49:51+02:00 (17 months ago)
Author:
mikedld
Comment:

Add "(?U)" inline modifier to all the regexes using "\b", to properly detect word boundaries

Legend:

Unmodified
Added
Removed
Modified
  • Rules/Portuguese-Errors-PT2

    v38 v39  
    9797                throwWarning: tr("PORTUGAL-website com espaço em branco");
    9898}
    99 *[/name|name:pt|addr:street/ =~ /(?i)(?u)(sem\s?nome|fix\s?me|\bfix\b|nome|no\s?name|desconhecido|n(ã|a)o conhecido)/][/^(name|name:pt)$/ !~ /(?i)(?u)soldado desconhecido/] {
     99*[/name|name:pt|addr:street/ =~ /(?i)(?u)(?U)(sem\s?nome|fix\s?me|\bfix\b|nome|no\s?name|desconhecido|n(ã|a)o conhecido)/][/^(name|name:pt)$/ !~ /(?i)(?u)soldado desconhecido/] {
    100100                throwWarning: tr("PORTUGAL-Nome errado, sem nome...");
    101101}
     
    109109                throwWarning: tr("PORTUGAL-Corrigir nome ou endereço com o correto em minúscula X-a-X");
    110110}
    111 way[highway][/name|name:pt|addr:street/ =~ /(?i)(?u)(\bairport|\bbank|building|\bdrive\s?way|embassy|\bhelip(ort|ad)\b|\bPark(ing)?|piscine|Post\s?off?ice|\bRue\b|\bshop\b|\bstair|\bstation\b|\btra(c?k|ck?)|stree?t|Zebra cros)/] {
     111way[highway][/name|name:pt|addr:street/ =~ /(?i)(?u)(?U)(\bairport|\bbank|building|\bdrive\s?way|embassy|\bhelip(ort|ad)\b|\bPark(ing)?|piscine|Post\s?off?ice|\bRue\b|\bshop\b|\bstair|\bstation\b|\btra(c?k|ck?)|stree?t|Zebra cros)/] {
    112112                throwWarning: tr("PORTUGAL-name ou addr:street com palavras por traduzir ou mudar a etiqueta");
    113113}
    114 way[highway][/^(name|name:pt)$/ =~ /\b(Alf|Alm|Ant|Arq\.?º?|Az|B\.?º|Br|Bco?|Bl|Brg|Cac|Cc(nh)?|Ca[mp]|Churr|Csl|Cmdt|Comend|Cª|Cons|Cor|Cel|Dep|Dr?\.?[ºª]|Dr|Dq|Edf?|Emb|Enf[oº]?|Eng[ºª]?|Esc(nh)?|Est|Gen|Hab|Inf|Im[aª]|Im[oº]?|Im|Jrd?|Lg?|Lj|Lt|Loteam|Lu?g|Mto|Maj|Mal|Mq|Me|Min|Mons|M|Part|Pe|Pq|Pto|Pte|P[cç]|Pr|Pct[aª]?|Presid|Pro?fª?|Proj|Prolng|Qd|R\.|Rot|Sarg|Slj|Soc|Scv|Sq|Ten|Tr|Transv|Trav|Trv|Tv|Urb|Vl|Vi|Visc|Vv|Zn)(\.| )/] {
     114way[highway][/^(name|name:pt)$/ =~ /(?U)\b(Alf|Alm|Ant|Arq\.?º?|Az|B\.?º|Br|Bco?|Bl|Brg|Cac|Cc(nh)?|Ca[mp]|Churr|Csl|Cmdt|Comend|Cª|Cons|Cor|Cel|Dep|Dr?\.?[ºª]|Dr|Dq|Edf?|Emb|Enf[oº]?|Eng[ºª]?|Esc(nh)?|Est|Gen|Hab|Inf|Im[aª]|Im[oº]?|Im|Jrd?|Lg?|Lj|Lt|Loteam|Lu?g|Mto|Maj|Mal|Mq|Me|Min|Mons|M|Part|Pe|Pq|Pto|Pte|P[cç]|Pr|Pct[aª]?|Presid|Pro?fª?|Proj|Prolng|Qd|R\.|Rot|Sarg|Slj|Soc|Scv|Sq|Ten|Tr|Transv|Trav|Trv|Tv|Urb|Vl|Vi|Visc|Vv|Zn)(\.| )/] {
    115115                throwWarning: tr("PORTUGAL-Nome abreviado");
    116116}
    117 *["addr:city" =~ /\b[A-Z](\.| )/] {
     117*["addr:city" =~ /(?U)\b[A-Z](\.| )/] {
    118118                throwWarning: tr("PORTUGAL-addr:city abreviado");
    119119}
    120 *["addr:street" =~ /\b(Alf|Alm|Ant|Arq\.?º?|Az|B\.?º|Br|Bco?|Bl|Brg|Cac|Cc(nh)?|Ca[mp]|Churr|Csl|Cmdt|Comend|Cª|Cons|Cor|Cel|Dep|Dr?\.?[ºª]|Dr|Dq|Edf?|Emb|Enf[oº]?|Eng[ºª]?|Esc(nh)?|Est|Gen|Hab|Inf|Im[aª]|Im[oº]?|Im|Jrd?|Lg?|Lj|Lt|Loteam|Lu?g|Mto|Maj|Mal|Mq|Me|Min|Mons|M|Pe|Pq|Part|Pe|Pto|P[cç]|Pr|Pct[aª]?|Presid|Pro?fª?|Proj|Prolng|Qd|R\.|Rot|Sarg|Slj|Soc|Scv|Sq|Ten|Tr|Transv|Trav|Trv|Tv|Urb|Vl|Vi|Visc|Vv|Zn)(\.| )/] {
     120*["addr:street" =~ /(?U)\b(Alf|Alm|Ant|Arq\.?º?|Az|B\.?º|Br|Bco?|Bl|Brg|Cac|Cc(nh)?|Ca[mp]|Churr|Csl|Cmdt|Comend|Cª|Cons|Cor|Cel|Dep|Dr?\.?[ºª]|Dr|Dq|Edf?|Emb|Enf[oº]?|Eng[ºª]?|Esc(nh)?|Est|Gen|Hab|Inf|Im[aª]|Im[oº]?|Im|Jrd?|Lg?|Lj|Lt|Loteam|Lu?g|Mto|Maj|Mal|Mq|Me|Min|Mons|M|Pe|Pq|Part|Pe|Pto|P[cç]|Pr|Pct[aª]?|Presid|Pro?fª?|Proj|Prolng|Qd|R\.|Rot|Sarg|Slj|Soc|Scv|Sq|Ten|Tr|Transv|Trav|Trv|Tv|Urb|Vl|Vi|Visc|Vv|Zn)(\.| )/] {
    121121                throwWarning: tr("PORTUGAL-addr:street abreviado");
    122122}
    123 *["addr:street" =~ /\b(Ass|Av\.?ª?|[Bb](\.\s?|\s)?[Vv]|B(\.\s?|\s)?E(\.\s?|\s)?S|C(\.\s?|\s)?C|[Cc](\.\s?|\s)?[Gg](\.\s?|\s)?[Dd]|[Cc](\.\s?|\s)?[Mm]|C(\.\s?|\s)?V(\.\s?|\s)?P|C\.S|Congr|D|Dept|Dir|E(\.|\s)?T(\.|\s)?A(\.|\s)?R|Ed[Ee]|Ext|[FSfs](\.\s?|\s)?[Cc](lub)?e?|H|Inst|J(\.\s?|\s)?F|Lab|Mte|Na|Ns|N[^0-9º]|N(\.\s?|\s)?[ªa]|\sN\sS|Of|P(\.\s?|\s)?S(\.\s?|\s)?P|Qta|R|Res|Rib(\.a|\.?ª)?|S|S(\.\s?|\s)?C|Soc|Sª|Sr?\.?ª|Sra?|St\.?[oaºª]?|Univ)(\.|\s)/][/(name|name:pt|addr:street)/ !~ /S\.A\./] {
     123*["addr:street" =~ /(?U)\b(Ass|Av\.?ª?|[Bb](\.\s?|\s)?[Vv]|B(\.\s?|\s)?E(\.\s?|\s)?S|C(\.\s?|\s)?C|[Cc](\.\s?|\s)?[Gg](\.\s?|\s)?[Dd]|[Cc](\.\s?|\s)?[Mm]|C(\.\s?|\s)?V(\.\s?|\s)?P|C\.S|Congr|D|Dept|Dir|E(\.|\s)?T(\.|\s)?A(\.|\s)?R|Ed[Ee]|Ext|[FSfs](\.\s?|\s)?[Cc](lub)?e?|H|Inst|J(\.\s?|\s)?F|Lab|Mte|Na|Ns|N[^0-9º]|N(\.\s?|\s)?[ªa]|\sN\sS|Of|P(\.\s?|\s)?S(\.\s?|\s)?P|Qta|R|Res|Rib(\.a|\.?ª)?|S|S(\.\s?|\s)?C|Soc|Sª|Sr?\.?ª|Sra?|St\.?[oaºª]?|Univ)(\.|\s)/][/(name|name:pt|addr:street)/ !~ /S\.A\./] {
    124124                throwWarning: tr("PORTUGAL-addr:street abreviado_");
    125125}
    126 *[/^(name|name:pt)$/ =~ /\b(Ass|Av\.?ª?|[Bb](\.\s?|\s)?[Vv]|B(\.\s?|\s)?E(\.\s?|\s)?S|C(\.\s?|\s)?C|[Cc](\.\s?|\s)?[Gg](\.\s?|\s)?[Dd]|[Cc](\.\s?|\s)?[Mm]|C(\.\s?|\s)?V(\.\s?|\s)?P|C\.S|Congr|Coop(\.\s?|\s)|D|Dept|Dir|E(\.|\s)?T(\.|\s)?A(\.|\s)?R|Ed[Ee]|Ext|[FSfs](\.\s?|\s)?[Cc](lub)?e?|Gab|H|Inst|J(\.\s?|\s)?F|Lab|Mte|Na|Ns|N[^0-9º]|N(\.\s?|\s)?[ªa]|\sN\sS|Of|Pte|P(\.\s?|\s)?S(\.\s?|\s)?P|Qta|R|Res|Rib(\.a|\.?ª)?|S|S(\.\s?|\s)?C|Soc|Sª|Sr?\.?ª|Sra?|St\.?[oaºª]?|Univ)(\.|\s)/][/(name|name:pt|addr:street)/ !~ /S\.A\./] {
     126*[/^(name|name:pt)$/ =~ /(?U)\b(Ass|Av\.?ª?|[Bb](\.\s?|\s)?[Vv]|B(\.\s?|\s)?E(\.\s?|\s)?S|C(\.\s?|\s)?C|[Cc](\.\s?|\s)?[Gg](\.\s?|\s)?[Dd]|[Cc](\.\s?|\s)?[Mm]|C(\.\s?|\s)?V(\.\s?|\s)?P|C\.S|Congr|Coop(\.\s?|\s)|D|Dept|Dir|E(\.|\s)?T(\.|\s)?A(\.|\s)?R|Ed[Ee]|Ext|[FSfs](\.\s?|\s)?[Cc](lub)?e?|Gab|H|Inst|J(\.\s?|\s)?F|Lab|Mte|Na|Ns|N[^0-9º]|N(\.\s?|\s)?[ªa]|\sN\sS|Of|Pte|P(\.\s?|\s)?S(\.\s?|\s)?P|Qta|R|Res|Rib(\.a|\.?ª)?|S|S(\.\s?|\s)?C|Soc|Sª|Sr?\.?ª|Sra?|St\.?[oaºª]?|Univ)(\.|\s)/][/(name|name:pt|addr:street)/ !~ /S\.A\./] {
    127127                throwWarning: tr("PORTUGAL-Nome abreviado-NÃO alterar se for nome de estabelecimento");
    128128}
     
    184184 * em alguns locais corretamente porque utiliza a grafia antiga, por isso não se deve colocar estes casos aqui.
    185185 */
    186 *[/^(name|name:pt|addr:street|addr:city|alt_name|int_name|nat_name|reg_name|loc_name|old_name|official_name|name:pt)$/ =~ /(?i)(?u)(oes\b|\bá\s|hà|\bAb[ìi]lio|Ac([àa]c|ass?|áss?)i[ao]|Academic[oa]|A((c|ss?)[ùu]|çù)de\b|\bAss?ore[sa]|Administra(ça|cã|ca)o|\bAdriao\b|Africa\b|Ag(enc|êns)ia|\b(Ág|Agu)eda\b|Agrari[ao]|Agricola|\bAgui?as?\b|\bAlamo\b|Alcantara|Alfandega|\bAl(ge|j[ée])s\b|Alvar(es|o)|Amalia|\bAmandio|\bAmeli[ao]\b|Americ[ao]s?\b|Amisade|\bAndre\b|\bAngel[ao]\b|\bAnibal|Antonio|Apolonia|Araujo|Arma(ze|sé)(m|ns)|\bArea\b|Arqueol(og|ój|oj)ic[oa]|\bArtes(ao|oes)|\bArtistic[oa]|Arvore|Ascen(sao|ção|çao)|\bAsenha\b|As(s?isten[cs]s?|istên[cs]s?i)ia|Astronomico|\bA[sc]is\b|Ass?o(c|ss?)ia(ça|cã|ca)o|Atlantic|Atletico|Auditorio|\bAzemeis|\bBaia\b|\bBalneario|B(as|áz)i(li)?c[ao]|\bBarao\b|\bBarbar[ao]s?\b|\bBa(zí|si)lica|\bB[éê]co\b|\bBelem\b|B(élj|el[gj]i)c|\bBelesa|\bBeltr[aâ]o\b|\bBetao\b|\bBissáu\b|Bonanico|Bonif(ac|as|ás)io|\bBrandao\b|\bBras\b|Bra(si|z[ií])lia|\bBrazil|Britanic|Cab(leireir[ao]|eleleir[ao]|eleire?[ao])|\bCacador|Cafe\b|Caf(ét[ea]|ata)ria|Cal(c|ss?)ada|C(alva|álv[áa])rio|\bC[àáã]mara|Cambio|Camelia|cami(onaj|no[gj]|nona[gj]|na[gj])em|Camoes|\bCa(mponez|npone[zs])|\bCandid[ao]\b|\bC[aâ]o\b\b|\bCapit(ao|aes|[õo]es)|Ca[cs]s?ador|\bCaza\b|C[ei]miterio|Centenari[ao]|\bC(e[zs]|éz)ar\b|Chafaris|\bCha[os]?\b|\bCidadao\b|Ci(enc|[êe]nss?)ia|Cir(ur[gj]|úrj)ica|\bClaudi[ao]|Clerigo|Clinica|Col(e[gj]|éj)io|Combust(ívé|iv[ée])ive(l|is)|Com(er[cs]|érs)io|\bCojo\b|Comdominio|Com(monit[áa]|unita)ri[ao]|Concei(ca|ça|cã)o|\bC[oô]nego\b|Con([cs]s?ervato|cervató)ri|Co(mdom[íi]|ndomi)nio|Coperativa|cosmetic(a|os)|\bCredito|Crist([oôó]va|[oô]vã)o|\bCrus\b|Con(c|ss?)ervatori[oa]|\bDalia\b|\bDami?ao\b|Dan(c|ss?)a\b|Dentari|Dep(oss?|óz|oz)ito|Diagnostico|Diario|Di(até|ete)tica|\bDili\b|Dion(is|iz|íz)io|Dire(cã|ça|ca)o|Domingao|\bE(c|ss?)ca\b|Edif(i[cçs]s?|íç|íss?)icio|Educa(ca|ça|cã)o|Elec?tr[ei](c[ao]|[çs]s?ista)s?|Elec?tr(e[cçs]s?|i[çs]s?)[ei]dade|Elec?trodomestic|\bElisi[ao]s?\b|\b([ÈÉ]m[íi]|Emi)di[ao]\b|\bEmili[ao]\b|Encarna(ca|ça|cã)o|Eremida|Escadori|Escoteiro|Espirit[ao]|Expli([çc][õo]es|ca(cõ|ço|co)es|ca(ça|cã)o)|Esta(ca|ça|cã)o|\bEstadio|Estasiona|Estatua|\bEstefani[ao]|Esternato|Estetic[ao]|Estradao|Est[êée]vao|Estufador|\bEufemi|Evan(ge|jé|je)lica|\bEvora\b|Ex(erc|érs)ito|\bEx(ilio|ílad)|Fabricas?\b|\bFamalicao|\bFamilia\b|(para)?Farmacia|Farmaceutic|Fatima|Felix|\bFerre[ao]|Ferr?oviari|Finan(c|ss?)as|\bFisic[ao]\b|\bFlavi[ao]\b|Folclorico|\bFont[ae]rio|Fortalesa|Fotebol\b|\bFotografo|Fran(ce|sê|se)s\b|F(egu?e[sz]|rege[sz]|regu?ez)ia|Fruticula|Funeraria|Gale\b|Garces|\bGa(rret|rett?)\b|\bGaviao\b|\b(Ge|J[ée])meos?\b|Gloria|\bGôa\b|\bGois\b|Gon(c|ss?)alves|\bGra[cs]s?as?\b|\bGrao\b|Guestao|Guimaraes|Gu?in(áz|as|az)io|Gu?ina[sz]tica|Guine(\sBiss?a[ou])?|Guiné(-|\s)?(Bi[çs]a[ou])|Hermini[ao]\b|Herois|Hipico|\bHor(áss?|ac)io|Horten[cs]ia|Horticula|\bH[õô]tel|Iberic[ao]|Imobiliaria|\bIn([áa]ss?|ac)io|Independencia|India\b|Industrias?\b|Inf(a[cs]s?ia|ânss?ia|antario)|\binformatica|\bIn(es|ez|êz)\b|Infantario|Informatica|Inspec?ç?(a|oes)|\bIrmao?s?\b|\bJeova\b|Jeronimo|\bJiesta|\bJoao\b|Joelheria|\bJoias?\b|J[oó]se\b|J[ou]d[iu]([cs]s?ia|ss?i[áa]|[cs]?i[cs]?ia)ria|\bJuliao\b|\bJusti(c|ss?)a|\bJulia?o\b|\bJuridic|Laboratorio|\bLampiao\b|L(ás|az|as)aro|Leao|Leitao|\bLinguas?\b|\bLiquido\b|\bLirio|Lo(gi|jí)stic|Loule|Louren(c|ss?)o|\bL(ú[çs]s?i|u[çcs]s?i)[ao]\b|Lu[sz]iada|Magalhaes|\bMalhao\b|Maquinas?|\bMarili|Maritim[oa]|\bMario\b|Martir(es)?\b|\bMatris\b|Marqu?(é[sz]|eza)\b|Matematic|\bMedic[oa]\b|Metal(úrjica|ur[jg]ica)|Mi(ss?iona|cion[áa])ri|M[ei][sz](erir?co|irec[oó])rd[ie](o[sz])?a|\bMoises\b|Mortuaria|Moveis|\bM(o[sz]e[ou]|useo|uze[ou])\b|M[uo]([sz]e[uo]lój|ze[uo]ló[gj])ic|Muni((c|ss?)i|ss?í)pio|Musica\b|\bNautic|\bNa(zare|sar[ée])|Negocio|Nem(éz|es)io\b|Ne[sç]s?e[scç]s?idades|Not(i[cs]s?|íss?)ias|\bNucleo\b|\bOp?tica\b|[ÒO]bidos?|Observatorio|O(ceanic[ao]\b|[çs]s?eânic)|Panoramic|\bPao\b|\bP[áa]teo\b|\bP[àaâã]tio\b|Pavilh(ao|oes)|\bPen(ss?a|ssã|çã)o\b|\bPredios?\b|P(siquia|ciqui[aá])tric[oa]|Politecnic|Porfirio|Portugue[sz]\b|Profi[cs]ional|\bProgre[sç]o|\bPublic(o|a)\b|P[ou]rifica(ca|ça|cã)o|Quiteria|\bRadio\b|\bRaínha\b|\bRaúl\b|Ress?into|\bR[eu]tunda\b|\bRe(gia|jiã|gi|ji)o\b|Rejimento|Remedio|Repara(cões|çoes|coes|çao|cao|cão)|R[ée]publica\b|R(épu|epú|épú)blican[ao]|Retro(za|[zs]e)ria|Re([zs]ide|zidê)n[cs]ias?\b|Rezid[êe]ncial|Re(zide|sidê)n[cs]ial|Re[sç]urrei(ça|[cs]s?ã)o|Ress?urrei(ça|[cs]s?ã)o|Retrozaria|\bRío\b|Rodoviari[oa]|\bRo([gj]e|jé)rio|Romanic[ao]|Romao|\bRo(sa|za|zá)[rl]i[oa]|Ruina|\bSa\b|Salao|Sand([ou][íi]x|[ou]ich|oích)e|\bSanitari|Sant(are|er[ée])m|Sant(í[sçc]|i[sçc]s?)im[ao]|\bSao\b|\bSaude|\sSe\b|Sebastiao|Seculo|Secundari[ao]|(Semina|Cemin[áa])rio|Senior|Ser(racao|raçao|racão|ação)|Sepulveda|Servi(c|ss?)o|S(erg|érji)io|Sidonio|\bSilverio|Sim(ao|oes)|Su(e(c|ss?)ia|éss?)ia|Su(íss?|iç|iss?)a|Su[çs]s?e(ss?|ç)o|\bT(ang|[âa]nj)er\b|Tape([çc]e|[cs]s?a)ria|Taxis?|Tecnico|Tecnol(ój|o[gj])ico|\bTenis\b|Tertulia|Teofilo|Teotonio|Textil|\bTilia|\bTipico|\bTomas\b|\bTome\b|\bTr(a[sz]|áz)\b|\bTr?ave[sç]a\b|\bTrese\b|\bTúlipa|\bTunel\b|\bTuristic|\bUniao\b|Univer(sita|cit[áa])ri|Univercidade|Urbani(za(ç|ss?)ao|sa(ç|ss?)ão|zac[aã]o)|Urg(enc|[êe]nss?)ia|\bV(ar[zs]|árs)ea\b|\bVarsim|\bV(árs|ar[zs])ea|\bValeri[ao]\b|\bVen(an[cs]s?|[âa]nss?)i[ao]|\bV(ide|[íi]di)o\b|\bVicio\b|\bV(ir[gj]i|jí|erj[íi]|ergi)li|Veter(i?na|en[áa])ri|\bVilaret?\b|Vitoria|Voluntario)/] {
     186*[/^(name|name:pt|addr:street|addr:city|alt_name|int_name|nat_name|reg_name|loc_name|old_name|official_name|name:pt)$/ =~ /(?i)(?u)(?U)(oes\b|\bá\s|hà|\bAb[ìi]lio|Ac([àa]c|ass?|áss?)i[ao]|Academic[oa]|A((c|ss?)[ùu]|çù)de\b|\bAss?ore[sa]|Administra(ça|cã|ca)o|\bAdriao\b|Africa\b|Ag(enc|êns)ia|\b(Ág|Agu)eda\b|Agrari[ao]|Agricola|\bAgui?as?\b|\bAlamo\b|Alcantara|Alfandega|\bAl(ge|j[ée])s\b|Alvar(es|o)|Amalia|\bAmandio|\bAmeli[ao]\b|Americ[ao]s?\b|Amisade|\bAndre\b|\bAngel[ao]\b|\bAnibal|Antonio|Apolonia|Araujo|Arma(ze|sé)(m|ns)|\bArea\b|Arqueol(og|ój|oj)ic[oa]|\bArtes(ao|oes)|\bArtistic[oa]|Arvore|Ascen(sao|ção|çao)|\bAsenha\b|As(s?isten[cs]s?|istên[cs]s?i)ia|Astronomico|\bA[sc]is\b|Ass?o(c|ss?)ia(ça|cã|ca)o|Atlantic|Atletico|Auditorio|\bAzemeis|\bBaia\b|\bBalneario|B(as|áz)i(li)?c[ao]|\bBarao\b|\bBarbar[ao]s?\b|\bBa(zí|si)lica|\bB[éê]co\b|\bBelem\b|B(élj|el[gj]i)c|\bBelesa|\bBeltr[aâ]o\b|\bBetao\b|\bBissáu\b|Bonanico|Bonif(ac|as|ás)io|\bBrandao\b|\bBras\b|Bra(si|z[ií])lia|\bBrazil|Britanic|Cab(leireir[ao]|eleleir[ao]|eleire?[ao])|\bCacador|Cafe\b|Caf(ét[ea]|ata)ria|Cal(c|ss?)ada|C(alva|álv[áa])rio|\bC[àáã]mara|Cambio|Camelia|cami(onaj|no[gj]|nona[gj]|na[gj])em|Camoes|\bCa(mponez|npone[zs])|\bCandid[ao]\b|\bC[aâ]o\b\b|\bCapit(ao|aes|[õo]es)|Ca[cs]s?ador|\bCaza\b|C[ei]miterio|Centenari[ao]|\bC(e[zs]|éz)ar\b|Chafaris|\bCha[os]?\b|\bCidadao\b|Ci(enc|[êe]nss?)ia|Cir(ur[gj]|úrj)ica|\bClaudi[ao]|Clerigo|Clinica|Col(e[gj]|éj)io|Combust(ívé|iv[ée])ive(l|is)|Com(er[cs]|érs)io|\bCojo\b|Comdominio|Com(monit[áa]|unita)ri[ao]|Concei(ca|ça|cã)o|\bC[oô]nego\b|Con([cs]s?ervato|cervató)ri|Co(mdom[íi]|ndomi)nio|Coperativa|cosmetic(a|os)|\bCredito|Crist([oôó]va|[oô]vã)o|\bCrus\b|Con(c|ss?)ervatori[oa]|\bDalia\b|\bDami?ao\b|Dan(c|ss?)a\b|Dentari|Dep(oss?|óz|oz)ito|Diagnostico|Diario|Di(até|ete)tica|\bDili\b|Dion(is|iz|íz)io|Dire(cã|ça|ca)o|Domingao|\bE(c|ss?)ca\b|Edif(i[cçs]s?|íç|íss?)icio|Educa(ca|ça|cã)o|Elec?tr[ei](c[ao]|[çs]s?ista)s?|Elec?tr(e[cçs]s?|i[çs]s?)[ei]dade|Elec?trodomestic|\bElisi[ao]s?\b|\b([ÈÉ]m[íi]|Emi)di[ao]\b|\bEmili[ao]\b|Encarna(ca|ça|cã)o|Eremida|Escadori|Escoteiro|Espirit[ao]|Expli([çc][õo]es|ca(cõ|ço|co)es|ca(ça|cã)o)|Esta(ca|ça|cã)o|\bEstadio|Estasiona|Estatua|\bEstefani[ao]|Esternato|Estetic[ao]|Estradao|Est[êée]vao|Estufador|\bEufemi|Evan(ge|jé|je)lica|\bEvora\b|Ex(erc|érs)ito|\bEx(ilio|ílad)|Fabricas?\b|\bFamalicao|\bFamilia\b|(para)?Farmacia|Farmaceutic|Fatima|Felix|\bFerre[ao]|Ferr?oviari|Finan(c|ss?)as|\bFisic[ao]\b|\bFlavi[ao]\b|Folclorico|\bFont[ae]rio|Fortalesa|Fotebol\b|\bFotografo|Fran(ce|sê|se)s\b|F(egu?e[sz]|rege[sz]|regu?ez)ia|Fruticula|Funeraria|Gale\b|Garces|\bGa(rret|rett?)\b|\bGaviao\b|\b(Ge|J[ée])meos?\b|Gloria|\bGôa\b|\bGois\b|Gon(c|ss?)alves|\bGra[cs]s?as?\b|\bGrao\b|Guestao|Guimaraes|Gu?in(áz|as|az)io|Gu?ina[sz]tica|Guine(\sBiss?a[ou])?|Guiné(-|\s)?(Bi[çs]a[ou])|Hermini[ao]\b|Herois|Hipico|\bHor(áss?|ac)io|Horten[cs]ia|Horticula|\bH[õô]tel|Iberic[ao]|Imobiliaria|\bIn([áa]ss?|ac)io|Independencia|India\b|Industrias?\b|Inf(a[cs]s?ia|ânss?ia|antario)|\binformatica|\bIn(es|ez|êz)\b|Infantario|Informatica|Inspec?ç?(a|oes)|\bIrmao?s?\b|\bJeova\b|Jeronimo|\bJiesta|\bJoao\b|Joelheria|\bJoias?\b|J[oó]se\b|J[ou]d[iu]([cs]s?ia|ss?i[áa]|[cs]?i[cs]?ia)ria|\bJuliao\b|\bJusti(c|ss?)a|\bJulia?o\b|\bJuridic|Laboratorio|\bLampiao\b|L(ás|az|as)aro|Leao|Leitao|\bLinguas?\b|\bLiquido\b|\bLirio|Lo(gi|jí)stic|Loule|Louren(c|ss?)o|\bL(ú[çs]s?i|u[çcs]s?i)[ao]\b|Lu[sz]iada|Magalhaes|\bMalhao\b|Maquinas?|\bMarili|Maritim[oa]|\bMario\b|Martir(es)?\b|\bMatris\b|Marqu?(é[sz]|eza)\b|Matematic|\bMedic[oa]\b|Metal(úrjica|ur[jg]ica)|Mi(ss?iona|cion[áa])ri|M[ei][sz](erir?co|irec[oó])rd[ie](o[sz])?a|\bMoises\b|Mortuaria|Moveis|\bM(o[sz]e[ou]|useo|uze[ou])\b|M[uo]([sz]e[uo]lój|ze[uo]ló[gj])ic|Muni((c|ss?)i|ss?í)pio|Musica\b|\bNautic|\bNa(zare|sar[ée])|Negocio|Nem(éz|es)io\b|Ne[sç]s?e[scç]s?idades|Not(i[cs]s?|íss?)ias|\bNucleo\b|\bOp?tica\b|[ÒO]bidos?|Observatorio|O(ceanic[ao]\b|[çs]s?eânic)|Panoramic|\bPao\b|\bP[áa]teo\b|\bP[àaâã]tio\b|Pavilh(ao|oes)|\bPen(ss?a|ssã|çã)o\b|\bPredios?\b|P(siquia|ciqui[aá])tric[oa]|Politecnic|Porfirio|Portugue[sz]\b|Profi[cs]ional|\bProgre[sç]o|\bPublic(o|a)\b|P[ou]rifica(ca|ça|cã)o|Quiteria|\bRadio\b|\bRaínha\b|\bRaúl\b|Ress?into|\bR[eu]tunda\b|\bRe(gia|jiã|gi|ji)o\b|Rejimento|Remedio|Repara(cões|çoes|coes|çao|cao|cão)|R[ée]publica\b|R(épu|epú|épú)blican[ao]|Retro(za|[zs]e)ria|Re([zs]ide|zidê)n[cs]ias?\b|Rezid[êe]ncial|Re(zide|sidê)n[cs]ial|Re[sç]urrei(ça|[cs]s?ã)o|Ress?urrei(ça|[cs]s?ã)o|Retrozaria|\bRío\b|Rodoviari[oa]|\bRo([gj]e|jé)rio|Romanic[ao]|Romao|\bRo(sa|za|zá)[rl]i[oa]|Ruina|\bSa\b|Salao|Sand([ou][íi]x|[ou]ich|oích)e|\bSanitari|Sant(are|er[ée])m|Sant(í[sçc]|i[sçc]s?)im[ao]|\bSao\b|\bSaude|\sSe\b|Sebastiao|Seculo|Secundari[ao]|(Semina|Cemin[áa])rio|Senior|Ser(racao|raçao|racão|ação)|Sepulveda|Servi(c|ss?)o|S(erg|érji)io|Sidonio|\bSilverio|Sim(ao|oes)|Su(e(c|ss?)ia|éss?)ia|Su(íss?|iç|iss?)a|Su[çs]s?e(ss?|ç)o|\bT(ang|[âa]nj)er\b|Tape([çc]e|[cs]s?a)ria|Taxis?|Tecnico|Tecnol(ój|o[gj])ico|\bTenis\b|Tertulia|Teofilo|Teotonio|Textil|\bTilia|\bTipico|\bTomas\b|\bTome\b|\bTr(a[sz]|áz)\b|\bTr?ave[sç]a\b|\bTrese\b|\bTúlipa|\bTunel\b|\bTuristic|\bUniao\b|Univer(sita|cit[áa])ri|Univercidade|Urbani(za(ç|ss?)ao|sa(ç|ss?)ão|zac[aã]o)|Urg(enc|[êe]nss?)ia|\bV(ar[zs]|árs)ea\b|\bVarsim|\bV(árs|ar[zs])ea|\bValeri[ao]\b|\bVen(an[cs]s?|[âa]nss?)i[ao]|\bV(ide|[íi]di)o\b|\bVicio\b|\bV(ir[gj]i|jí|erj[íi]|ergi)li|Veter(i?na|en[áa])ri|\bVilaret?\b|Vitoria|Voluntario)/] {
    187187                throwWarning: tr("PORTUGAL-Verificar:name ou similares, addr:street, addr:city com erros ortográficos");
    188188}
    189189/* possui nome de rua mas não tem etiqueta de highway */
    190 way[!highway][!railway][route != road][type !~ /route|street/][name][name =~ /^(?i)(?u)(Auto-?estrada|Avenida|Beco|Cais|Calçad(inh)?a|Caminho|Ciclovia|Escad(a|inha|aria)s?|Estrada\s?(Nacional|Regional|Municipal)?|Itinerário\s? (Complementar|Principal)?|Passeio|Rampa|Rotunda|Rua|Ruela|Transversal|Travessa|Trilho|Túnel|Variante|Via(-|\s)Rápida|Viadutos?|Viela)\b/][name !~ /^(?i)(?u)estrada de ferro/][route != ferry][!amenity] {
     190way[!highway][!railway][route != road][type !~ /route|street/][name][name =~ /^(?i)(?u)(?U)(Auto-?estrada|Avenida|Beco|Cais|Calçad(inh)?a|Caminho|Ciclovia|Escad(a|inha|aria)s?|Estrada\s?(Nacional|Regional|Municipal)?|Itinerário\s? (Complementar|Principal)?|Passeio|Rampa|Rotunda|Rua|Ruela|Transversal|Travessa|Trilho|Túnel|Variante|Via(-|\s)Rápida|Viadutos?|Viela)\b/][name !~ /^(?i)(?u)estrada de ferro/][route != ferry][!amenity] {
    191191        throwWarning: tr("PORTUGAL-Verificar: com nome de via mas sem etiqueta de {0}", "{0.key}");
    192192}
     
    198198}
    199199/* endereços com nome de via errado */
    200 *["addr:street"]["addr:street" !~ /^((Adro|Alameda|Aldeamento|Alto|Arco|Autoparque|Avenida|Azinhaga|Bairro|Beco|Boqueirão|Burgal|Cabeço|Cais|Calçad(inh)?a|Caminho|Campo|Campus|Caracol|Carreiro|Casal|Circular|Colónia|Condomínio|Corredor|Costa|Cruz(es)?|Cunhal|Encosta|Escad(a|inha|aria)s?|Escolas|Esplanada|Estacada|Estrada|Grupos de Moradias Populares|Itinerário\s?|Jardi(m|ns)|Ladeira|Largo|Loteamento|Mercado|Miradouro|Monte|Outeirinho|Paço|Parada|Parque|Passeio|Pátio|Poço|Porta|Postigo|Pra(ç|cet)a|Praia|Quinta|Rampa|Regueirão|Rocha|Rossio|Rotunda|Rua|Ruela|Sítio|Telheiro|Terreiro|Transversal|Travessa|Urbanização|Variante|Vereda|Via(-Rápida)?|Viela|Vila)\b|Triste Feia)/] {
     200*["addr:street"]["addr:street" !~ /^(?U)((Adro|Alameda|Aldeamento|Alto|Arco|Autoparque|Avenida|Azinhaga|Bairro|Beco|Boqueirão|Burgal|Cabeço|Cais|Calçad(inh)?a|Caminho|Campo|Campus|Caracol|Carreiro|Casal|Circular|Colónia|Condomínio|Corredor|Costa|Cruz(es)?|Cunhal|Encosta|Escad(a|inha|aria)s?|Escolas|Esplanada|Estacada|Estrada|Grupos de Moradias Populares|Itinerário\s?|Jardi(m|ns)|Ladeira|Largo|Loteamento|Mercado|Miradouro|Monte|Outeirinho|Paço|Parada|Parque|Passeio|Pátio|Poço|Porta|Postigo|Pra(ç|cet)a|Praia|Quinta|Rampa|Regueirão|Rocha|Rossio|Rotunda|Rua|Ruela|Sítio|Telheiro|Terreiro|Transversal|Travessa|Urbanização|Variante|Vereda|Via(-Rápida)?|Viela|Vila)\b|Triste Feia)/] {
    201201        throwWarning: tr("PORTUGAL- addr:street sem nome de via, errado, abreviado ou com maiúsculas");
    202202}
    203203/* nome de vias sem logradouro correto */
    204 *[highway][highway !~ /bridleway|bus_stop|cycleway|crossing|elevator|footway|give_way|motorway_junction|path|raceway|speed_camera|steps|stop/][name][name !~ /^((Adro|Alameda|Aldeamento|Alto|Arco|Auto-?[Ee]strada|Autoparque|Avenida|Azinhaga|Bairro|Beco|Boqueirão|Burgal|Cabeço|Cais|Calçad(inh)?a|Caminho|Campo|Campus|Caracol|Carreiro|Casal|Circular|Colónia|Condomínio|Corredor|Costa|Cruz(es)?|Cunhal|Encosta|Escad(a|inha|aria)s?|Escolas|Esplanada|Estacada|Estrada|Grupos de Moradias Populares|Itinerário\s?|Jardi(m|ns)|Ladeira|Largo|Loteamento|Mercado|Miradouro|Monte|Outeirinho|Paço|Parada|Parque|Passeio|Pátio|Poço|Ponte|Porta|Postigo|Pra(ç|cet)a|Quinta|Rampa|Regueirão|Rocha|Rossio|Rotunda|Rua|Ruela|Sítio|Telheiro|Terreiro|Transversal|Travessa|Trilho|Túnel|Urbanização|Variante|Vereda|Via(-Rápida)?|Viaduto|Viela|Vila)\b|Triste Feia)/][name !~ /^(E(\.|\s)?[NRM]|C(\.|\s)?M)(\.|\s)?[1-9]/] {
     204*[highway][highway !~ /bridleway|bus_stop|cycleway|crossing|elevator|footway|give_way|motorway_junction|path|raceway|speed_camera|steps|stop/][name][name !~ /^(?U)((Adro|Alameda|Aldeamento|Alto|Arco|Auto-?[Ee]strada|Autoparque|Avenida|Azinhaga|Bairro|Beco|Boqueirão|Burgal|Cabeço|Cais|Calçad(inh)?a|Caminho|Campo|Campus|Caracol|Carreiro|Casal|Circular|Colónia|Condomínio|Corredor|Costa|Cruz(es)?|Cunhal|Encosta|Escad(a|inha|aria)s?|Escolas|Esplanada|Estacada|Estrada|Grupos de Moradias Populares|Itinerário\s?|Jardi(m|ns)|Ladeira|Largo|Loteamento|Mercado|Miradouro|Monte|Outeirinho|Paço|Parada|Parque|Passeio|Pátio|Poço|Ponte|Porta|Postigo|Pra(ç|cet)a|Quinta|Rampa|Regueirão|Rocha|Rossio|Rotunda|Rua|Ruela|Sítio|Telheiro|Terreiro|Transversal|Travessa|Trilho|Túnel|Urbanização|Variante|Vereda|Via(-Rápida)?|Viaduto|Viela|Vila)\b|Triste Feia)/][name !~ /^(E(\.|\s)?[NRM]|C(\.|\s)?M)(\.|\s)?[1-9]/] {
    205205        throwWarning: tr("PORTUGAL- {0} sem nome de via, errado, abreviado ou maiúsculas no nome", "{0.key}");
    206206}
     
    212212                throwWarning: tr("PORTUGAL-Correto é McDonalds com apóstrofo antes do s");
    213213}
    214 *[name =~ /\b(Axxa|axx?a)\b/] {
     214*[name =~ /(?U)\b(Axxa|axx?a)\b/] {
    215215                throwWarning: tr("PORTUGAL-Correto é Axa");
    216216}
    217 *[name =~ /(?i)(?u)\b[Ll]evi[ ´]?s\b/] {
     217*[name =~ /(?i)(?u)(?U)\b[Ll]evi[ ´]?s\b/] {
    218218                throwWarning: tr("PORTUGAL-Correto é Levis com apóstrofo antes do s");
    219219}
     
    221221                throwWarning: tr("PORTUGAL-Correto é Pingo Doce");
    222222}
    223 *[name =~ /\b([Ee][Ll]ecler[kqc]|[Ee]\.[Ll]ecler[kq]|e\.Leclerc|E\.leclerc)/] {
     223*[name =~ /(?U)\b([Ee][Ll]ecler[kqc]|[Ee]\.[Ll]ecler[kq]|e\.Leclerc|E\.leclerc)/] {
    224224                throwWarning: tr("PORTUGAL-Correto é E.Leclerc");
    225225}
     
    227227                throwWarning: tr("PORTUGAL-Correto é Intermarché");
    228228}
    229 *[name =~ /(?i)(?u)\bDeca(te?lo[mn]|th?lom|tom)\b/] {
     229*[name =~ /(?i)(?u)(?U)\bDeca(te?lo[mn]|th?lom|tom)\b/] {
    230230                throwWarning: tr("PORTUGAL-Correto é Decathlon");
    231231}
     
    316316                fixAdd: "name=Santander Totta";
    317317}
    318 *[name =~ /(?i)(?u)Benett?o[mn]\b/][name !~ /\bUnited Colors\b/] {
     318*[name =~ /(?i)(?u)(?U)Benett?o[mn]\b/][name !~ /(?U)\bUnited Colors\b/] {
    319319                throwWarning: tr("PORTUGAL-O correto é United Colors of Benetton");
    320320}
     
    324324                fixAdd: "short_name=Banif";
    325325}
    326 *[/^(name|name:pt)$/ =~ /^(?i)(?u)((Loja (Social|Solid[áa]ria)|EMA[ÚU]S|\bREMAR\b)|EMA[ÚU]S|\bREMAR\b)$/][shop !~ /charity/][!highway][!railway][!boundary][!place] {
     326*[/^(name|name:pt)$/ =~ /^(?i)(?u)(?U)((Loja (Social|Solid[áa]ria)|EMA[ÚU]S|\bREMAR\b)|EMA[ÚU]S|\bREMAR\b)$/][shop !~ /charity/][!highway][!railway][!boundary][!place] {
    327327        throwWarning: tr("PORTUGAL-Provavelmente devia ter shop=charity, caso tenha outra, adicionar esta também");
    328328}
     
    335335        throwWarning: tr("PORTUGAL- {0} sem nome", "{0.value}");
    336336}
    337 node[name =~ /^(?i)(?u)\b(Academia da Força Aérea|Academia Militar|Academia Nacional Superior|Conservatório Superior|Faculdade|Escola d[eo] Serviço de Saúde Militar|Escola Náutica Infante|Escola Naval|Escola Superior|Escola Universitária|Instituto de Ciências Biomédicas|Instituto de Engenharia|Instituto Militar|Instituto Politécnico|Instituto Português de Administração|Instituto Superior|Instituto Universitário|Universidade)\b/][amenity][amenity !~ /^(university|restaurant|cafe|pub|bar)$/][!highway][!railway][!boundary][!place][!shop],
    338 node[name =~ /^(?i)(?u)\b(Academia da Força Aérea|Academia Militar|Academia Nacional Superior|Conservatório Superior|Faculdade|Escola d[eo] Serviço de Saúde Militar|Escola Náutica Infante|Escola Naval|Escola Superior|Escola Universitária|Instituto de Ciências Biomédicas|Instituto de Engenharia|Instituto Militar|Instituto Politécnico|Instituto Português de Administração|Instituto Superior|Instituto Universitário|Universidade)\b/][!amenity][!highway][!railway][!boundary][!place][!shop],
    339 way[name =~ /^(?i)(?u)\b(Academia da Força Aérea|Academia Militar|Academia Nacional Superior|Conservatório Superior|Faculdade|Escola d[eo] Serviço de Saúde Militar|Escola Náutica Infante|Escola Naval|Escola Superior|Escola Universitária|Instituto de Ciências Biomédicas|Instituto de Engenharia|Instituto Militar|Instituto Politécnico|Instituto Português de Administração|Instituto Superior|Instituto Universitário|Universidade)\b/][amenity][amenity !~ /^(university|restaurant|cafe|pub|bar)$/][!highway][!railway][!boundary][!place][!shop],
    340 way[name =~ /^(?i)(?u)\b(Academia da Força Aérea|Academia Militar|Academia Nacional Superior|Conservatório Superior|Faculdade|Escola d[eo] Serviço de Saúde Militar|Escola Náutica Infante|Escola Naval|Escola Superior|Escola Universitária|Instituto de Ciências Biomédicas|Instituto de Engenharia|Instituto Militar|Instituto Politécnico|Instituto Português de Administração|Instituto Superior|Instituto Universitário|Universidade)\b/][!amenity][!highway][!railway][!boundary][!place][!shop] {
     337node[name =~ /^(?i)(?u)(?U)\b(Academia da Força Aérea|Academia Militar|Academia Nacional Superior|Conservatório Superior|Faculdade|Escola d[eo] Serviço de Saúde Militar|Escola Náutica Infante|Escola Naval|Escola Superior|Escola Universitária|Instituto de Ciências Biomédicas|Instituto de Engenharia|Instituto Militar|Instituto Politécnico|Instituto Português de Administração|Instituto Superior|Instituto Universitário|Universidade)\b/][amenity][amenity !~ /^(university|restaurant|cafe|pub|bar)$/][!highway][!railway][!boundary][!place][!shop],
     338node[name =~ /^(?i)(?u)(?U)\b(Academia da Força Aérea|Academia Militar|Academia Nacional Superior|Conservatório Superior|Faculdade|Escola d[eo] Serviço de Saúde Militar|Escola Náutica Infante|Escola Naval|Escola Superior|Escola Universitária|Instituto de Ciências Biomédicas|Instituto de Engenharia|Instituto Militar|Instituto Politécnico|Instituto Português de Administração|Instituto Superior|Instituto Universitário|Universidade)\b/][!amenity][!highway][!railway][!boundary][!place][!shop],
     339way[name =~ /^(?i)(?u)(?U)\b(Academia da Força Aérea|Academia Militar|Academia Nacional Superior|Conservatório Superior|Faculdade|Escola d[eo] Serviço de Saúde Militar|Escola Náutica Infante|Escola Naval|Escola Superior|Escola Universitária|Instituto de Ciências Biomédicas|Instituto de Engenharia|Instituto Militar|Instituto Politécnico|Instituto Português de Administração|Instituto Superior|Instituto Universitário|Universidade)\b/][amenity][amenity !~ /^(university|restaurant|cafe|pub|bar)$/][!highway][!railway][!boundary][!place][!shop],
     340way[name =~ /^(?i)(?u)(?U)\b(Academia da Força Aérea|Academia Militar|Academia Nacional Superior|Conservatório Superior|Faculdade|Escola d[eo] Serviço de Saúde Militar|Escola Náutica Infante|Escola Naval|Escola Superior|Escola Universitária|Instituto de Ciências Biomédicas|Instituto de Engenharia|Instituto Militar|Instituto Politécnico|Instituto Português de Administração|Instituto Superior|Instituto Universitário|Universidade)\b/][!amenity][!highway][!railway][!boundary][!place][!shop] {
    341341        throwWarning: tr("PORTUGAL-Provavelmente devia ter amenity=university");
    342342}
    343 *[name =~ /^(?i)(?u)\b(Escola|Agrupamento de Escolas|Liceu|Centro de Formação Profissional)\b/][name !~ /^(?i)(?u)\b(Escola d[eo] Serviço de Saúde Militar|Escola Náutica Infante|Escola Naval|Escola Superior|Escola Universitária|Escola (de )?Condução)\b/][amenity][amenity =~ /^(university|college|kindergarten|driving_school)$/][!highway][!railway][!boundary][!place][!shop],
    344 *[name =~ /^(?i)(?u)\b(Escola|Agrupamento de Escolas|Liceu|Centro de Formação Profissional)\b/][name !~ /^(?i)(?u)\b(Escola d[eo] Serviço de Saúde Militar|Escola Náutica Infante|Escola Naval|Escola Superior|Escola Universitária|Escola (de )?Condução)\b/][!amenity][!highway][!railway][!boundary][!place][!shop] {
     343*[name =~ /^(?i)(?u)(?U)\b(Escola|Agrupamento de Escolas|Liceu|Centro de Formação Profissional)\b/][name !~ /^(?i)(?u)(?U)\b(Escola d[eo] Serviço de Saúde Militar|Escola Náutica Infante|Escola Naval|Escola Superior|Escola Universitária|Escola (de )?Condução)\b/][amenity][amenity =~ /^(university|college|kindergarten|driving_school)$/][!highway][!railway][!boundary][!place][!shop],
     344*[name =~ /^(?i)(?u)(?U)\b(Escola|Agrupamento de Escolas|Liceu|Centro de Formação Profissional)\b/][name !~ /^(?i)(?u)(?U)\b(Escola d[eo] Serviço de Saúde Militar|Escola Náutica Infante|Escola Naval|Escola Superior|Escola Universitária|Escola (de )?Condução)\b/][!amenity][!highway][!railway][!boundary][!place][!shop] {
    345345        throwWarning: tr("PORTUGAL-Provavelmente devia ter amenity=school");
    346346}
    347 *[name =~ /^(?i)(?u)\b(Colégio|Internato|Real Colégio)\b/][amenity][amenity =~ /^(university|school|kindergarten|driving_school)$/][!highway][!railway][!boundary][!place][!shop],
    348 *[name =~ /^(?i)(?u)\b(Colégio|Internato|Real Colégio)\b/][!amenity][!highway][!railway][!boundary][!place][!shop] {
     347*[name =~ /^(?i)(?u)(?U)\b(Colégio|Internato|Real Colégio)\b/][amenity][amenity =~ /^(university|school|kindergarten|driving_school)$/][!highway][!railway][!boundary][!place][!shop],
     348*[name =~ /^(?i)(?u)(?U)\b(Colégio|Internato|Real Colégio)\b/][!amenity][!highway][!railway][!boundary][!place][!shop] {
    349349        throwWarning: tr("PORTUGAL-Provavelmente devia ter amenity=college");
    350350}
    351 *[name =~ /^(?i)(?u)\b(creche|jardim infantil|jardim de infância|infantário|externato|pré-primária)\b/][amenity][amenity =~ /^(university|school|college|driving_school)$/][!highway][!railway][!boundary][!place][!shop],
    352 *[name =~ /^(?i)(?u)\b(creche|jardim infantil|jardim de infância|infantário|externato|pré-primária)\b/][!amenity][!highway][!railway][!boundary][!place][!shop] {
     351*[name =~ /^(?i)(?u)(?U)\b(creche|jardim infantil|jardim de infância|infantário|externato|pré-primária)\b/][amenity][amenity =~ /^(university|school|college|driving_school)$/][!highway][!railway][!boundary][!place][!shop],
     352*[name =~ /^(?i)(?u)(?U)\b(creche|jardim infantil|jardim de infância|infantário|externato|pré-primária)\b/][!amenity][!highway][!railway][!boundary][!place][!shop] {
    353353        throwWarning: tr("PORTUGAL-Provavelmente devia ter amenity=kindergarten");
    354354}
    355 *[name =~ /^(?i)(?u)\bEscola de Condução\b/][amenity][amenity =~ /^(university|school|college|kindergarten)$/][!highway][!railway][!boundary][!place][!shop],
    356 *[name =~ /^(?i)(?u)\bEscola de Condução\b/][!amenity][!highway][!railway][!boundary][!place][!shop] {
     355*[name =~ /^(?i)(?u)(?U)\bEscola de Condução\b/][amenity][amenity =~ /^(university|school|college|kindergarten)$/][!highway][!railway][!boundary][!place][!shop],
     356*[name =~ /^(?i)(?u)(?U)\bEscola de Condução\b/][!amenity][!highway][!railway][!boundary][!place][!shop] {
    357357        throwWarning: tr("PORTUGAL-Provavelmente devia ter amenity=driving_school");
    358358}
     
    372372        throwWarning: tr("PORTUGAL- amenity=police dentro de amenity=police");
    373373}
    374 *[/^(name|name:pt)$/ =~ /(?i)(?u)\b(Seguros|Ass?eguradora?|Seguradora|Açoreana|Aegon|Allianz|AXA|Bonança|Fidelidade|Generali|Groupama|Liberty|Mapfre|Médis|Multicare|Tranquilidade|Zurich)\b/][name][office != insurance][!highway] {
     374*[/^(name|name:pt)$/ =~ /(?i)(?u)(?U)\b(Seguros|Ass?eguradora?|Seguradora|Açoreana|Aegon|Allianz|AXA|Bonança|Fidelidade|Generali|Groupama|Liberty|Mapfre|Médis|Multicare|Tranquilidade|Zurich)\b/][name][office != insurance][!highway] {
    375375        throwWarning: tr("PORTUGAL-Seguradora e Mediador de Seguros deve ter office=insurance");
    376376}
    377 *[/^(name|name:pt)$/ =~ /(?i)(?u)\b(Stande?|Automóveis|Concessionário)\b/][shop != car] {
     377*[/^(name|name:pt)$/ =~ /(?i)(?u)(?U)\b(Stande?|Automóveis|Concessionário)\b/][shop != car] {
    378378        throwWarning: tr("PORTUGAL-Stande de Automóveis deve ter shop=car");
    379379}
     
    390390        throwWarning: tr("PORTUGAL-Edifício de Hospital ou Centro de Saúde deve ter building=hospital");
    391391}
    392 *[/^(name|name:pt)$/ =~ /^(?i)(?u)(Hospital|Centro Hospitalar|(Centro|Extensão) (de )?Saúde) /][name][amenity][amenity != hospital][/^(name|name:pt)$/ !~ /(?i)(?u)\b(Parque|Estacionamento)\b/] {
     392*[/^(name|name:pt)$/ =~ /^(?i)(?u)(Hospital|Centro Hospitalar|(Centro|Extensão) (de )?Saúde) /][name][amenity][amenity != hospital][/^(name|name:pt)$/ !~ /(?i)(?u)(?U)\b(Parque|Estacionamento)\b/] {
    393393        throwWarning: tr("PORTUGAL-Hospital e Centro de Saúde deve ter amenity=hospital");
    394394}
     
    421421        throwWarning: tr("PORTUGAL-Loja de roupa para noivas deve ter clothes=wedding");
    422422}
    423 *[/^(name|name:pt|note)$/ =~ /(?i)(?u)\b(Zara Kids|Lanidor J[úu]nior|Roupa (de |para )?Crianças?)\b/][shop=clothes][!clothes] {
     423*[/^(name|name:pt|note)$/ =~ /(?i)(?u)(?U)\b(Zara Kids|Lanidor J[úu]nior|Roupa (de |para )?Crianças?)\b/][shop=clothes][!clothes] {
    424424        throwWarning: tr("PORTUGAL-Loja de roupa para criança deve ter clothes=children");
    425425}
    426 *[/^(name|name:pt|note)$/ =~ /(?i)(?u)\b(Roupa (de |para )?B[ée]b[ée]s?)\b/][shop=clothes][!clothes] {
     426*[/^(name|name:pt|note)$/ =~ /(?i)(?u)(?U)\b(Roupa (de |para )?B[ée]b[ée]s?)\b/][shop=clothes][!clothes] {
    427427        throwWarning: tr("PORTUGAL-Loja de roupa para bebé deve ter clothes=babies");
    428428}
    429 *[/^(name|name:pt)$/ =~ /(?i)(?u)\b(Salsa|Levi's|Levi Strauss|Pepe Jeans|Lee|W52)\b/][shop=clothes][!clothes] {
     429*[/^(name|name:pt)$/ =~ /(?i)(?u)(?U)\b(Salsa|Levi's|Levi Strauss|Pepe Jeans|Lee|W52)\b/][shop=clothes][!clothes] {
    430430        throwWarning: tr("PORTUGAL-Loja essencialmente de jeans deve ter clothes=denim");
    431431}
    432 *[/^(name|name:pt)$/ =~ /(?i)(?u)\b(lingerie|women'secret|Calzedonia|Intimissimi|Loja das Meias)\b/][shop=clothes][!clothes] {
     432*[/^(name|name:pt)$/ =~ /(?i)(?u)(?U)\b(lingerie|women'secret|Calzedonia|Intimissimi|Loja das Meias)\b/][shop=clothes][!clothes] {
    433433        throwWarning: tr("PORTUGAL-Loja de roupa interior,meias,etc. deve ter clothes=underwear");
    434434}
     
    469469}
    470470/* lugar possui nome que inicia com "Edifício" mas não possui etiqueta building */
    471 *[/^(name|name:pt)$/ =~ /^(?i)(?u)edifício/][!building][/^(name|name:pt)$/ !~ /^(?i)(?u)\bEdifício Transparente\b/] {
     471*[/^(name|name:pt)$/ =~ /^(?i)(?u)edifício/][!building][/^(name|name:pt)$/ !~ /^(?i)(?u)(?U)\bEdifício Transparente\b/] {
    472472        throwWarning: tr("PORTUGAL-Possível ausência de etiqueta {0}", "{1.key}");
    473473}
     
    556556/* requer JOSM ≥ 7761 */
    557557*[tourism = motel][amenity != love_hotel],
    558 *[/^(name|name:pt)$/ =~ /(?i)(?u)\bmotel\b/][amenity != love_hotel] {
     558*[/^(name|name:pt)$/ =~ /(?i)(?u)(?U)\bmotel\b/][amenity != love_hotel] {
    559559        throwWarning: tr("PORTUGAL-Ausência de etiqueta ''{0}''", "{1.value}");
    560560}
     
    671671        throwWarning: tr("PORTUGAL-natural junto com shop");
    672672}
    673 *[/name|brand|operator/ =~ /\b(5 (à s|[áa]\s[Ss])ec)\b/] {
     673*[/name|brand|operator/ =~ /(?U)\b(5 (à s|[áa]\s[Ss])ec)\b/] {
    674674        throwWarning: tr("PORTUGAL-O correto é 5 à Sec");
    675675}
     
    677677        throwWarning: tr("PORTUGAL-Marca de combustível deve estar em brand e não name. O posto costuma ser de privados e com nome extenso ");
    678678}
    679 *[/name|brand|operator/ =~ /\b(galp|GALP)\b/] {
     679*[/name|brand|operator/ =~ /(?U)\b(galp|GALP)\b/] {
    680680        throwWarning: tr("PORTUGAL-O correto é Galp e não GALP ou galp");
    681681}
    682 *[/name|brand|operator/ =~ /\b(CEPSA|cepsa)\b/] {
     682*[/name|brand|operator/ =~ /(?U)\b(CEPSA|cepsa)\b/] {
    683683        throwWarning: tr("PORTUGAL-O correto é Cepsa e não CEPSA ou cepsa");
    684684}
    685 *[/name|brand|operator/ =~ /\b(ESSO|esso)\b/] {
     685*[/name|brand|operator/ =~ /(?U)\b(ESSO|esso)\b/] {
    686686        throwWarning: tr("PORTUGAL-O correto é Esso e não ESSO ou esso");
    687687}
    688 *[/name|brand|operator/ =~ /\b(EXX?ON|exx?on)\b/] {
     688*[/name|brand|operator/ =~ /(?U)\b(EXX?ON|exx?on)\b/] {
    689689        throwWarning: tr("PORTUGAL-O correto é Exxon e não EXXON ou exxon");
    690690}
    691 *[/name|brand|operator/ =~ /\b(REPSOL|repsol)\b/] {
     691*[/name|brand|operator/ =~ /(?U)\b(REPSOL|repsol)\b/] {
    692692        throwWarning: tr("PORTUGAL-O correto é Repsol e não REPSOL ou repsol");
    693693}
    694 *[/name|brand|operator/ =~ /\b(SHELL?|shell?)\b/] {
     694*[/name|brand|operator/ =~ /(?U)\b(SHELL?|shell?)\b/] {
    695695        throwWarning: tr("PORTUGAL-O correto é Shell e não SHELL ou shell");
    696696}
    697 *[amenity=fuel][/name|brand|operator/ =~ /\b(TOTAL|total)\b/] {
     697*[amenity=fuel][/name|brand|operator/ =~ /(?U)\b(TOTAL|total)\b/] {
    698698        throwWarning: tr("PORTUGAL-O correto é Total e não TOTAL ou total");
    699699}
    700 *[amenity=fuel][/name|brand|operator/ =~ /\bMul?ti(\s?[óÓ]p?|\s?[ÓO]|\sOp?)ticas?\b/] {
     700*[amenity=fuel][/name|brand|operator/ =~ /(?U)\bMul?ti(\s?[óÓ]p?|\s?[ÓO]|\sOp?)ticas?\b/] {
    701701        throwWarning: tr("PORTUGAL-O correto é MultiOpticas");
    702702}
    703 *[amenity=fuel][/name|brand|operator/ =~ /\b(L[ÍI]DE?L|l[íi]de?l|Líde?l)[Ee]?\b/] {
     703*[amenity=fuel][/name|brand|operator/ =~ /(?U)\b(L[ÍI]DE?L|l[íi]de?l|Líde?l)[Ee]?\b/] {
    704704        throwWarning: tr("PORTUGAL-O correto é Lidl");
    705705}
    706 *[name][name =~ /\b(L[ÍI]DE?L|l[íi]de?l|Líde?l)[Ee]?\b/] {
     706*[name][name =~ /(?U)\b(L[ÍI]DE?L|l[íi]de?l|Líde?l)[Ee]?\b/] {
    707707        throwWarning: tr("PORTUGAL-O correto é Lidl");
    708708}
     
    726726        throwOther: tr("utilizar ; como separador de valores em {0}", "{0.key}");
    727727}
    728 *[/^(name|name:pt)$/ =~ /(?i)(?u)Posto (de )?Turismo/][name][information != office][!highway][/^(name|name:pt)$/ !~ /(?i)(?u)\b(Parque|Estacionamento)\b/] {
     728*[/^(name|name:pt)$/ =~ /(?i)(?u)Posto (de )?Turismo/][name][information != office][!highway][/^(name|name:pt)$/ !~ /(?i)(?u)(?U)\b(Parque|Estacionamento)\b/] {
    729729        throwWarning: tr("PORTUGAL-Posto de Turismo deve ter information=office e tourism=information");
    730730}