Expresiones Regulares en Java

Páginas: 5 (1006 palabras) Publicado: 17 de septiembre de 2015
Expresiones Regulares en Java.
Las expresiones regulares son algo que se usa desde hace años en otros lenguajes de programación como Perl, Sed o Awk. En la versión 1.4 del JDK de Sun se incluye el paquete java.util.regex, que proporciona una serie de clases para poder hacer uso de la potencia de este tipo de expresiones en Java. Antes de nada necesitamos saber qué es una expresión regular y paraque nos puede servir:
Pues bien, una expresión regular es un patrón que describe a una cadena de caracteres. Todos hemos utilizado alguna vez la expresión *.doc para buscar todos los documentos en algún lugar de nuestro disco duro, pues bien, *.doc es un ejemplo de una expresión regular que representa a todos los archivos con extensión doc, el asterisco significa cualquier secuencia de caracteres(vale, los que ya conozcan esto dirán que no es correcto, y dirán bien, es más preciso hablar de *.doc pero el ejemplo es muy gráfico).
Las expresiones regulares se rigen por una serie de normas y hay una construcción para cualquier patrón de caracteres. Una expresión regular sólo puede contener (aparte de letras y números) los siguientes caracteres:
< $, ^, ., *, +, ?, [, ], . >
Unaexpresión regular, nos servirá para buscar patrones en una cadena de texto, por ejemplo encontrar cuantas veces se repite una palabra en un texto, para comprobar que una cadena tiene una determinada estructura, por ejemplo que el nombre de archivo que nos proponen tiene una determinada extensión, o comprobar que un email está bien escrito... Para cada uno de estos casos existe una expresión regular quelos representa:
Por medio de la expresión regular "camión" podemos encontrar cuantas veces se repite camión en un texto. Es la construcción más sencilla.
Esta expresión "^www.*.es" comprueba que una cadena sea una dirección web que comience por www y sea de un servidor español.
Y esta, para ver la potencia de las expresiones regulares, comprueba la buena formación de los correoselectrónicos: "[^A-Za-z0-9.@_-~#]+".
 El paquete java.util.regex está formado por dos clases, la clase Matcher y la clase Pattern y por una excepción, Pattern Syntax Exception.
La clase Pattern (según la documentación del jdk1.4) es la representación compilada de una expresión regular, o lo que es lo mismo, representa a la expresión regular, que en el paquete java.util.regex necesita estar compilada. En castellanosignifica patrón.
La clase Matcher es un tipo de objeto que se crea a partir de un patrón mediante la invocación del método Pattern.matcher. Este objeto es el que nos permite realizar operaciones sobre la secuencia de caracteres que queremos validar o la en la secuencia de caracteres en la que queremos buscar. En castellano lo más parecido a esto es la palabra encajador.
Por lo tanto tenemospatrones que deben ser compilados, a partir de estos creamos objetos Matcher (encajadores) para poder realizar las operaciones sobre la cadena en cuestión.
Vamos con la clase Pattern, para crear un patrón necesitamos compilar una expresión regular, esto lo conseguimos con el método compile:
Pattern patron = Pattern.compile("camion");
El método pattern devuelve la expresión regular que hemos compilado, elmétodo matcher crea un objeto Matcher a partir del patrón, el método splitdivide una cadena dada en partes que cumplan el patrón compilado y por último el método matches compila una expresión regular y comprueba una cadena de caracteres contra ella.
Ahora la clase Matcher. Esta clase se utiliza para comprobar cadenas contra el patrón indicado. Un objeto Matcher se genera a partir de unobjetoPattern por medio del método matcher:
Pattern patron = Pattern.compile("camion");
Matcher encaja = patron.matcher();
Una vez que tenemos el objeto creado, podemos realizar tres tipos de operaciones sobre una cadena de caracteres. Una es a través del método matchesque intenta encajar toda la secuencia en el patrón (para el patrón "camion" la cadena "camion" encajaría, la cadena "mi camion es verde"...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Expresiones Regulares JAVA
  • Expresiones Regulares En Java
  • Expresiones regulares
  • Expresiones regulares
  • expresiones regulares
  • Expresiones regulares
  • Expresiones Regulares
  • Expresiones regulares

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS