domingo, 4 de febrero de 2018

Javascript Parte LXXXV

Hasta ahora siempre hemos empleado el método test que retorna un valor true si el string cumple el patrón propuesto o false en caso contrario.
La clase RegExp cuenta con otro método llamado exec que retorna un vector con más datos en caso que el string cumpla el patrón propuesto o null si no cumple el patrón.
Veamos con un problema que datos extras retorna este vector.



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

<script type="text/javascript">
  var oracion='saliendo de la casa que esta en la montaña';
  var patron1=/la/;
  var vector1=patron1.exec(oracion);
  document.write(vector1.index);
  document.write('<br>');
  document.write(vector1.input);
  document.write('<br>');
  var patron2=/lax/;
  var vector2=patron2.exec(oracion);
  document.write(vector2);
</script>

</body>
</html>
Hemos definido en la variable oracion el valor : 'saliendo de la casa que esta en la montaña'. El primer patrón de búsqueda es verificar si contiene los caracteres 'la' la oración:
  var oracion='saliendo de la casa que esta en la montaña';
  var patron1=/la/;
  var vector1=patron1.exec(oracion);
El método exec retornará un valor distinto a null (tener en cuenta que retorna un vector) ya que la palabra la está contenida en la oración.
El vector devuelto por el método exec tiene dos propiedades llamadas index e input:
La propiedad index almacena la posición dentro del string donde se cumple el patrón, en nuestro ejemplo retorna un 12 que es la posición donde se encuentra la l:
saliendo de la casa que esta en la montaña
La propiedad input almacena la cadena que se está analizando.
La segundo parte del problema define un segundo patrón:
  var patron2=/lax/;
  var vector2=patron2.exec(oracion);
Como no se encuentra en el string la cadena 'lax' el método exec retorna un valor null, es decir no retorna un vector.

No hay comentarios.:

Publicar un comentario