/* Obtener el texto que coincide con un número al inicio del texto
https://es.stackoverflow.com/q/71535/127 */
import java.util.regex.Matcher;
import java.util.regex.Pattern;
class Ideone
{
private static void filtraNumeros
(String texto
){
String regex
= "^\\d{1,12}(\\.\\d{1,3})?";
Pattern patron = Pattern.compile(regex);
Matcher matcher = patron.matcher(texto);
if (matcher.find()) {
//Imprimir todo el texto con el que se coincidió
System.
out.
println( "Número: " + matcher.
group()); //Imprimir sólo el punto y los decimales (si tiene)
if (matcher.group(1) != null) {
System.
out.
println( "Decimales: " + matcher.
group(1) ); }
} else {
System.
out.
println( "No empieza con un número" ); }
}
{
// Prueba
String prueba
="123.45678 etc."; filtraNumeros(prueba);
}
}
LyogT2J0ZW5lciBlbCB0ZXh0byBxdWUgY29pbmNpZGUgY29uIHVuIG7Dum1lcm8gYWwgaW5pY2lvIGRlbCB0ZXh0bwogICBodHRwczovL2VzLnN0YWNrb3ZlcmZsb3cuY29tL3EvNzE1MzUvMTI3ICovCgppbXBvcnQgamF2YS51dGlsLnJlZ2V4Lk1hdGNoZXI7CmltcG9ydCBqYXZhLnV0aWwucmVnZXguUGF0dGVybjsKCmNsYXNzIElkZW9uZQp7Cglwcml2YXRlIHN0YXRpYyB2b2lkIGZpbHRyYU51bWVyb3MoU3RyaW5nIHRleHRvKXsKCgkgICAgU3RyaW5nIHJlZ2V4ICAgID0gIl5cXGR7MSwxMn0oXFwuXFxkezEsM30pPyI7CgkKCSAgICBQYXR0ZXJuIHBhdHJvbiAgPSBQYXR0ZXJuLmNvbXBpbGUocmVnZXgpOwoJICAgIE1hdGNoZXIgbWF0Y2hlciA9IHBhdHJvbi5tYXRjaGVyKHRleHRvKTsKCSAgICAKCSAgICBpZiAobWF0Y2hlci5maW5kKCkpIHsKCSAgICAgICAgLy9JbXByaW1pciB0b2RvIGVsIHRleHRvIGNvbiBlbCBxdWUgc2UgY29pbmNpZGnDswoJICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oICJOw7ptZXJvOiAiICsgbWF0Y2hlci5ncm91cCgpKTsKCSAgICAgICAgLy9JbXByaW1pciBzw7NsbyBlbCBwdW50byB5IGxvcyBkZWNpbWFsZXMgKHNpIHRpZW5lKQoJICAgICAgICBpZiAobWF0Y2hlci5ncm91cCgxKSAhPSBudWxsKSB7CgkJICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oICJEZWNpbWFsZXM6ICIgKyBtYXRjaGVyLmdyb3VwKDEpICk7CgkgICAgICAgIH0KCSAgICB9IGVsc2UgewoJICAgIAlTeXN0ZW0ub3V0LnByaW50bG4oICJObyBlbXBpZXphIGNvbiB1biBuw7ptZXJvIiApOwoJICAgIH0KCX0KCQoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4gKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBqYXZhLmxhbmcuRXhjZXB0aW9uCgl7CgkJLy8gUHJ1ZWJhCgkJU3RyaW5nIHBydWViYSA9IjEyMy40NTY3OCBldGMuIjsKCQlmaWx0cmFOdW1lcm9zKHBydWViYSk7Cgl9Cn0=