Ver Mensaje Individual
  #5 (permalink)  
Antiguo 21/02/2007, 16:33
luiguiray
 
Fecha de Ingreso: octubre-2003
Ubicación: Los Mochis, México.
Mensajes: 81
Antigüedad: 21 años, 3 meses
Puntos: 0
Re: Reto de Expresiones Regulares

Bueno, hice un ejemplito que cualquiera lo puede ejecutar para probar.
Espero con esto quede mas claro...

Código:
/**
 * Example class
 */
package com.pp.lgs.action;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * @author rortiz
 *
 */
public class RegularExpressionsExample {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		try {
		/* se declara la variable que va contener todo el string a analizar */
		StringBuffer inputStr = new StringBuffer();
		/* Se le asigna la información */
		inputStr.append("<tag1>\n");
		inputStr.append("a\n");
		inputStr.append("b\n");
		inputStr.append("c\n");
		inputStr.append("<cont>\n");
		inputStr.append("bla bla\n");
		inputStr.append("</cont>\n");
		inputStr.append("<cont>\n");
		inputStr.append("ye ye\n");
		inputStr.append("</cont>\n");
		inputStr.append("</tag1>");	       
		/* se declara el patrón a buscar en el string */
	    String patternRegex = "(<tag1>([\\p{Lower}\\p{Upper}\\p{Digit}\\n\\r\\t\\s\\p{Punct}])<cont>)";
	    /* se compila el patrón */
	    Pattern pattern = Pattern.compile(patternRegex);
	    /* se inicializa el matcher */
	    Matcher matcher = pattern.matcher("");
	    /* se le asigna el string en donde va buscar el patrón definido previamente */
	    matcher.reset(inputStr.toString());
	    /* ejecuta la búsqueda */
	    boolean matchFound = matcher.find();
	    
	    /* se evalúa si encontró algo */
	    if (matchFound){
	    	System.out.println("Grupos encontrados: " + String.valueOf(matcher.groupCount()));
	    	System.out.println(matcher.group(1)); /* se imprime lo que encontró (el grupo 1, aunque puede haber más) */
	    }
	    else {
	    	System.out.println("No se encontró el patrón");
	    }
		}
		catch (Exception e){
			System.out.println("Ha ocurrido un error al procesar la petición");			
		}
	}

}
__________________
Te amo flakita (jrk)