Foros del Web » Programación para mayores de 30 ;) » Java »

Expresión regular no aceptada en Java

Estas en el tema de Expresión regular no aceptada en Java en el foro de Java en Foros del Web. Hola, Estoy intentando compilar la siguiente expresión regular en Java: Código: \<the +the\> Como se puede observar es muy sencilla en egrep funciona correctamente, y ...
  #1 (permalink)  
Antiguo 18/11/2012, 15:32
 
Fecha de Ingreso: junio-2008
Ubicación: Bogotá Colombia
Mensajes: 45
Antigüedad: 15 años, 10 meses
Puntos: 0
Pregunta Expresión regular no aceptada en Java

Hola,
Estoy intentando compilar la siguiente expresión regular en Java:
Código:
\<the +the\>

Como se puede observar es muy sencilla en egrep funciona correctamente, y también la probé en Notepad++, y todo va bien.

Esta es el código que he especificado para la lectura del archivo, y la prueba de la expresión regular.

Código:
public class Backreferencing {
	public static void main( String[] args ) {
		try {
			BufferedReader br = new BufferedReader( new FileReader( "regex-files/ch01/ex12.backreferencing.txt" ) );
			
			String currentLine = null;
			
			Pattern p = Pattern.compile( "\\<the +the\\>" );
			
			while( ( currentLine = br.readLine() ) != null){
				
				Matcher m = p.matcher(currentLine);
				
				while( m.find() ){
					System.out.println( currentLine );
				}
			}
			
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}
El contenido del archivo ex12.backreferencing.txt es el siguiente:

She likes to eat chocolate. But the the chocolate is not good in exceeds.


¿Alguna idea o sugerencia?

Gracias de antemano.
Saludos,
  #2 (permalink)  
Antiguo 19/11/2012, 02:22
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años
Puntos: 306
Respuesta: Expresión regular no aceptada en Java

Échale un vistazo a cómo se hacen las expresiones regulares en java, porque lo que has puesto no se parece a lo que buscas

http://docs.oracle.com/javase/tutorial/essential/regex/

Estas buscando textos de esta forma

\<the the\>

Te sobran las barras y los ><
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #3 (permalink)  
Antiguo 19/11/2012, 08:27
 
Fecha de Ingreso: junio-2008
Ubicación: Bogotá Colombia
Mensajes: 45
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Expresión regular no aceptada en Java

Gracias Xerelo,

Por otro lado enconcontré que en el inicio y fin de palabra de expresiones regulares en Java se utiliza \b para hacer tal representación. Entonces el lugar de
Código HTML:
\<the +the\> 
tendríamos
Código HTML:
\bthe +the\b
(incluyendo el carácter de escape \\)


Hasta pronto.

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:34.