Outbook

HTML+CSS+JS, Accesibilidad, PHP y más

Inicio que contiene a Expresiones regulares

Datos de búsqueda

Etiqueta ‘Expresiones regulares’

Javascript y expresiones regulares: eliminación de espacios y tabulaciones en una cadena

Fecha de publicación: 2012/11/08

A veces las cadenas de texto vienen con una ristra de espacios y tabulaciones indeseados en cualquier lugar de la cadena, algo que a veces no viene demasiado bien (por ejemplo si se necesita medir el número de caracteres para truncar el texto).

Con sencilla expresión regular se puede solucionar el problema:

/([\ \t]+(?=[\ \t])|^\s+|\s+$)/g

Y un ejemplo en Javascript:

text = '   Cadena con   espacios en el inicio, en el medio y en el final          '
text = text.replace(/([\ \t]+(?=[\ \t])|^\s+|\s+$)/g, '');

La variable text devuelve:

'Cadena con espacios al final'

Con la expresión regular del ejemplo y el reemplazo realizado se consigue:

  • Eliminar dentro de la cadena los bloques de más de un espacio o tabulador, quedando sustituidos por un solo espacio.
  • Eliminar todos los espacios, tabuladores y saltos de línea al inicio y al final de la cadena
  • Al no utilizar \s en lugar de se conservan otros elementos como saltos de línea.

Datos del artículo:

PHP: ereg y eregi obsoletos (deprecated) en PHP 5.3.x

Fecha de publicación: 2010/06/12

Las funciones PHP ereg y eregi se utilizan para realizar búsquedas en cadenas de texto mediante expresiones regulares:

ereg($patron, $cadena_texto);
eregi($patron, $cadena_texto);

Con PHP 5.3 se consideran obsoletas y provocan errores, aunque en Devthought dan una solución: cambiarlas por preg_match.

Los ejemplos anteriores con preg_match:

preg_match('/'.$patron.'/', $cadena_texto);

Las diferencias son escasas:

  • Se cambia la función.
  • La expresión regular ahora va entre barras inclinadas a la derecha "/[expresión regular]/"

Datos del artículo:

Tabla para generar expresiones regulares

Fecha de publicación: 2008/04/22

Expresión Descripción
. Cualquier caracter
\ Indica que el caracter que le sigue ha de ser interpretado como tal, y no como parte de la sintaxis de la expresión regular. Por ejemplo, "\." indica que debe interpretarse como punto.
() Para agrupar operadores
{n} Busca la cadena especificada n veces. Por ejemplo, a{2} devuuelve ‘aa’.
{n,m} Busca la cadena especificada entre n y m veces. Por ejemplo: a{2,4} devuelve ‘aa’, ‘aaa’, or ‘aaaa’.
{n,} Busca la cadena especificada n o más veces.
* Devuelve 0 o más veces la cadena especificada.
+ Devuelve 1 o más veces la cadena especificada.
? Devuelve 0 o 1 vez la cadena especificada.
| Devuelve o bien la cadena que haya a la izquierda o la que haya a la derecha (como un operador booleano OR).
[aeiou] Devuelve la cadena que contenga caracteres entre los especificados.
[a-z] Similar al anterior, pero ahora se especifica un intervalo (de la "a" a la "z")
[^aeiou] Excluye las cadenas con caracteres entre los especificados.
$ Se pone al final, señalando el final de la línea. De esta forma se busca línea por línea, y ninguna de las cadenas que devuelve estará en más de una línea.

Saber más sobre las expresiones regulares en MSDN y saber más en Regular-Expressions.info.

Datos del artículo:

Información del sitio