Al no tener una formación de programador/informático hay temas que con el paso del tiempo se convierten en asignaturas pendientes. Éste es el caso de las expresiones regulares, qué al verlas me suenan la mayoría a chino. En este post intentaré explicar cómo entenderlas. Este post no hubiera sido posible sin @Daviz1928.

Las expresiones regulares yo las suelo tratar o bien para escribir/entender .htaccess o bien para usarlo en PHP. en realidad la lógica es la misma pero en .htaccess se usar variables que en PHP no.

Por ejemplo empecemos por algo sencillo. Queremos identificar los nombres de usuario de twitter: @usuario:

Ut non molestie arcu. Vivamus suscipit est quis nulla dictum condimentum. Praesent et lectus commodo, imperdiet justo vitae, @cursus_lectus. Cras rhoncus semper urna, in aliquam libero sollicitudin vel. In condimentum pulvinar odio non accumsan. Maecenas non @blandit elit. Ut imperdiet eros non eros congue venenatis. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Duis orci lacus, venenatis @sit_amet_ullamcorper eu, tempus eget enim. Donec rutrum urna eu eros ullamcorper volutpat. Praesent vel venenatis neque.
/(?:@)(\w*)/g
Ut non molestie arcu. Vivamus suscipit est quis nulla dictum condimentum. Praesent et lectus commodo, imperdiet justo vitae, @cursus_lectus. Cras rhoncus semper urna, in aliquam libero sollicitudin vel. In condimentum pulvinar odio non accumsan. Maecenas non @blandit elit. Ut imperdiet eros non eros congue venenatis. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Duis orci lacus, venenatis @sit_amet_ullamcorper eu, tempus eget enim. Donec rutrum urna eu eros ullamcorper volutpat. Praesent vel venenatis neque.

Leyenda: Elemento no capurado Elemento capurado

Desglose:
  • / / Siempre una expresión regular se encapsula entre barras
  • ( ) Sirve para crear un grupo
  • ?: Elementos que no se tienen que capturar
  • @ Busca el caracter de arroba
  • \w Abreviatura de [a-zA-Z0-9], es decir, cualquier letra en mayúscula o en minúscula o un número
  • \w* Lo anterior pero las veces que se requiera. Si no lo pusiéramos cólo cogería el primero
Resumen:

Busca una @ seguida se caracteres hasta que encuentra un espacio.

Os dejo varias webs de referencia y testeo para que vayáis practicando:

Categorías: JavaScript, PHP
Si necesitas una url corta puede usar: codygo.es/1882

Deja un comentario