quiero saber si un patrón en particular existe en mi archivo de texto o no.¿Cómo se empareja un patrón en el texto utilizando clases de escáner y patrón?
im utilizando siguientes clases para esto:
java.util.regex.Pattern and java.util.Scanner;
mi línea de texto de la muestra es
String Line="DBREF 1A1F A 102 190 UNP P08046 EGR1_MOUSE 308 396";
y, quiero coincidir siguiente tipo de patrón:
A 102 190
donde, en la posición az o AZ de A, pero con carta única.
en la posición 102 cualquier número entero y de cualquier longitud.
en la posición de 190 cualquier número entero y de cualquier longitud.
y, Mi código de coincidencia de patrones es:
Scanner sr=new Scanner(Line);
Pattern p = Pattern.compile("\\s+([a-zA-Z]){1}\\s+\\d{1,}\\s+\\d{1,}\\s+");
while(sr.hasNext(p))
{
System.out.println("Pattern exists");
System.out.println("Matched String : "+sr.next(p));
}
pero, patrón no coincide ni siquiera que existe allí ..
Creo que el problema es con mi cadena de patrón:
\\s+([a-zA-Z]){1}\\s+\\d{1,}\\s+\\d{1,}\\s+"
alguien, por favor ayúdenme, ¿qué cadena de patrones debería usar ????
aún no funciona .. Creo que el problema es con argumentos pattern.compile –
Se trabajó bien para mí. Un poco detallado quizás, pero deberían funcionar. Pruebe un pequeño programa de prueba compilado como se muestra arriba. –
has probado con esta línea: - DBREF 1A1F A 102 190 UNP P08046 EGR1_MOUSE 308 396 –