Expresiones regulares abreviadas: \d \w \s \D \W


Hay patrones de búsqueda que son de uso muy frecuente como buscar dígitos por lo que se creó una sintaxis abreviada:

Código	Equivalente
\d      [0-9]
\D      [^0-9]
\w      [a-zA-Z0-9_]
\W      [^a-zA-Z0-9_]
\s	espacio en blanco

Tener en cuenta que estos caracteres son las iniciales de decimal, word y space.

Problema

Verificar si un número ingresado por teclado tiene exactamente 5 dígitos.

<html>
<head>
</head>
<body>

<script type="text/javascript">
  var valor=prompt('Ingrese un valor numérico de 5 dígitos','');
  var patron=/^\d{5}$/;
  if (patron.test(valor))
    document.write('Tiene 5 dígitos');
  else
    document.write('No tiene 5 dígitos');
</script>

</body>
</html>

La expresión regular en lugar de utilizar los corchetes de valores opcionales utilizamos el carácter de escape y la d:

  var patron=/^\d{5}$/;

Es más corto y legible que utilizar:

  var patron=/^[0-9]{5}$/;
Problema

Ingresar una oración y mostrar un mensaje si tiene al menos una palabra de 4 caracteres.

<html>
<head>
</head>
<body>

<script type="text/javascript">
  var oracion=prompt('Ingrese una oracion','');
  var patron=/\s?\w{4}\s?/;
  if (patron.test(oracion))
    document.write('Tiene al menos una palabra de 4 caracteres');
  else
    document.write('No tiene una palabra de 4 caracteres');
</script>

</body>
</html>

El patrón queda definido con la siguiente sintaxis:

  var patron=/\s?\w{4}\s?/;

Es decir debe ingresarse posiblemente un espacio en blanco (el cuantificador ? debemos utilizarlo porque la palabra puede estar al principio del string y no tener un espacio en blanco antes de la primer letra), seguidamente 4 caracteres y posiblemente un espacio en blanco (el cuantificador ? debemos utilizarlo porque la palabra puede estar al final del string y no tener un espacio en blanco después de la última letra)

Retornar