expressió regular per validar una adreça de correu electrònic

Qui no ha intentat fer mai una expressió regular per a les adreces de correu electrònic? :D

Sempre hi ha casos que l’expressió regular no arriba a contemplar, però per sort hi ha algú que sí que ha contemplat tots els casos de l’RFC822 en una expressió regular.

Impressionant!

A més, si encara està viu i té capacitat mental segurament ja s’haurà tirat per la finestra en saber que ara es podran fer servir caràcters Unicode com a adreces d’Internet…

mostrar o amagar les traduccions

logotip del GNOMEdesprés de dinar no sabia què fer i m’ha picat el cuc hacker i m’he decidit a tancar el l’errada #106779 :)

moltes, moltes, moltes hores després he aconseguit que totes les peces encaixin i ara per fi ja he pogut enviar un pedaç que afegeix la funcionalitat d’amagar o mostrar les traduccions que ja estan al 100%

per fer-lo m’he basat en l’enllaç que hi havia en l’últim comentari de l’errada, però el problema era que no s’havia de commutar un o tots els elements de les llistes, sinó que uns i prou

de manera que m’he tirat dels cabells navegant per Internet fins que he trobat una manera fàcil i còmode:

  • primer de tot es defineix un identificador a cada una de les dues taules (la de documentació i la de interfície gràfica [1])
  • seguidament a partir d’aquests identificadors agafes els elements tr d’aquestes taules i els passes per un bucle
  • en el bucle l’únic que has de fer es comprovar si tenen un identificador que acabi amb -complete[2] i si es dóna el cas fer un (obj).style.display = ‘none’ o (obj).style.display = ”
  • evidentment, perquè això funcioni, fa falta posar-hi els identificadors quan es generen les pàgines

tot i que és molt millorable, si s’aplica aviat i es posa en els servidor en producció (el l10n.gnome.org) anirà que ni pintat ara que ja falta menys d’un mes per al llançament del GNOME 2.22 :D

[1] realment no caldria fer-ho així i es podria fer directament amb tot el document de cop, però com que les pàgines son prou grosses així la consulta al DOM es més curta

[2] i això és possible gràcies a que disposem d’expressions regulars a Javascript!

suprimir totes les línies que coincideixen amb un patró

logotip del vimtot editant fitxers turcs[1] tenia la necessitat de suprimir totes les línies que comencessin per msgstr[1] així que he anat a buscar per Internet i al final he trobat que amb el vim pots fer:

:%g/^msgstr\[1/d

i amb això suprimiràs en tot el fitxer totes les línies que comencin per msgstr[1

[1] : l’altre dia actualitzant la meva còpia del que tinc a un dels servidors vaig veure que hi havia alguns mòduls que amb turc no passaven la comprovació msgfmt -cv així que li vaig demanar a en Baris si li feia res que ho arreglés i com que m’ha dit que sí és el que estic fent ara mateix :)

expressions regulars (molt bàsic)

estic traduint el goffice (o almenys intentant-ho :) i com que hi havia algunes cadenes de comentaris que em molestaven i el fitxer era molt llarg és difícil fer-ho a mà anar repassant visualment el fitxer

de manera que m’he recordat que hi ha les expressions regulars! així que com que la meva memòria és molt molt dolenta he buscat per Internet fins que he arribar a un quadre resum que m’ha dit tot el que necessitava:

^#$

i amb això el que fem és buscar totes les línies en que comencin (ho indica el ^) per # i acabin (ho indica el $) també amb #

així que he obert el vim, li he posat l’expressió regular i després d’una combinació de dd (eliminar la línia on estàs) i n (anar a la pròxima ocurrència de la cerca) ja tenia el fitxer net :D

suposo que això també es podia haver fet amb el sed o l’awk (encara no entenc quina diferència hi ha entre l’un i l’altre però vaja)