Bienvenidos sean a este post, hoy veremos una funcion de Java.
Esta funcion nos devuelve si el patron que usamos para la expresion regular se encuentra enteramente o por lo menos en parte en la cadena. Veamos como es su sintaxis:
objeto.lookingAt();
El objeto debe ser de tipo Matcher y lo aplicamos directamente. Esta nos devuelve un valor booleano para indicar si existe, true, de lo contrario devuelve un false pero este es menos estricto que matches porque no debe coincidir completamente sino que tambien permite parcial. Para entender como funciona, vamos a analizar el siguiente ejemplo:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegEx
{
private static String REGEX = "foo";
private static String TEXTO = "aabfoomhmlalasarasaeof";
public static void main(String[] args)
{
Pattern patron = Pattern.compile(REGEX);
Matcher buscador = patron.matcher(TEXTO);
int pos = 0;
if (buscador.lookingAt())
{
System.out.println("Patron encontrado");
} else {
System.out.println("Patron no encontrado");
}
}
}
Primero importamos las dos librerias que usaremos para poder trabajar con nuestro codigo. Antes del main definiremos dos objetos de tipo String, el primero sera para la expresion regular que usaremos como patron y el segundo sera el texto donde trabajaremos. En el main, primero crearemos un objeto de tipo Pattern que sera el patron de busqueda. Para ello, usamos a compile y le pasamos el texto que vamos a usar como patron y definimos anteriormente. El segundo objeto es de tipo Matcher y es el que usaremos para buscar el patron. Para ello, usaremos al objeto y le aplicamos la funcion matcher y le pasamos el texto a analizar. Este se encargara de buscar el patron que pasamos en el texto. Luego tenemos un condicional. Este evaluara el resultado devuelto por la funcion en el segundo objeto, para saber si el patron se encuentra en el texto que utilizamos. Si es verdadero nos muestra un mensaje indicando esto, de lo contrario mostrara otro mensaje. Compilemos y veamos como es la salida:
$ java RegEx
Patron no encontrado
$
Observen como es la salida, nos devolvio que no pudo encontrarlo. Porque como comentamos al inicio, el texto debe coincidir plenamente con el patron o parcialmente pero no literalmente. Vayamos nuevamente el codigo y busquemos la siguiente linea:
private static String REGEX = "foo";
Y la modificaremos de la siguiente manera:
private static String REGEX = ".*foo*.";
Cambiaremos el patron para indicarle que este deba estar en el texto. Compilemos y ejecutemos para ver como es la salida:
$ java RegEx
Patron encontrado
$
Nos devolvio la salida donde encuentra coincidencia porque ahora el patron le permite buscarlo en la region. A diferencia de matches que solo busca coincidencia completa, y por ende este patron seguiria fallando. Si necesitan saber mas sobre esta funcion les recomiendo visitar este post.
En resumen, hoy hemos visto a lookingAt, que es, para que sirve, como se utiliza, y un ejemplo practico para poder verlo en accion. Espero les haya resultado de utilidad sigueme en tumblr, Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.


Donación
Es para mantenimento del sitio, gracias!
$1.50
