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 en la cadena o no. Veamos como es su sintaxis:
objeto.find([int inicio]);
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. De manera opcional, podemos indicar desde que posicion del texto podemos iniciar la busqueda. 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 = "(a*b)(foo)";
private static String TEXTO = "aabfoomhmlalasarasaeof";
public static void main(String[] args)
{
Pattern patron = Pattern.compile(REGEX);
Matcher buscador = patron.matcher(TEXTO);
if (buscador.find(0))
{
System.out.println("Patron encontrado");
} else {
System.out.println("Patron no encontrado");
}
if (buscador.find(9))
{
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 dos condicionales. En el primero, evaluaremos el resultado de usar la funcion sin valor de inicio, y mostraremos dos mensajes para indicar si existe el patron o no en el texto.. En el segundo condicional volvemos a repetir lo mismo pero ahora indicamos desde que posicion comenzar. Compilemos y veamos como es la salida:
$ java RegEx
Patron encontrado
Patron no encontrado
$
Observen como es la salida, al comenzar desde el inicio encontro el patron que usamos para buscar. En cambio, para el segundo caso no encontro nada porque desde donde iniciamos ya no existen mas coincidencias.
En resumen, hoy hemos visto a find, 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
