un escáner, en contraposición a un Matcher, ha construido en la tokenización de la cadena, el delimitador predeterminado es el espacio en blanco . Entonces, su "mundo de hola" se está convirtiendo en "mundo" hello antes de que se dispute el partido. Sería un partido si ha cambiado el delimitador antes de escanear a algo que no es en la cadena, por ejemplo .:
Scanner scanner = new Scanner("hello world");
scanner.useDelimiter(":");
System.out.println(scanner.next("hello\\s*world"));
pero parece que realmente para el caso de que solo debe utilizar un Matcher
.
Este es un ejemplo del uso de un escáner "según lo previsto":
Scanner scanner = new Scanner("hello,world,goodnight,moon");
scanner.useDelimiter(",");
while (scanner.hasNext()) {
System.out.println(scanner.next("\\w*"));
}
salida sería
hello
world
goodnight
moon
http://regexpal.com/ pruebas javascript expresiones regulares, expresiones regulares no java. Puede intentar usar http://www.fileformat.info/tool/regex.htm para probar expresiones regulares de Java. – Marcelo
@Marcelo mi probador de expresiones regex Java en línea favorito: http://www.regexplanet.com/simple/ –
@Matt Gracias, lo marqué como favorito para la próxima vez que lo necesite. – Marcelo