Ich bin neu in regulären Ausdrücken. Ich möchte nach NUMBER(19, 4)
suchen und die Methode sollte den Wert zurückgeben (in diesem Fall 19,4
). Aber ich bekomme immer 0
als Ergebnis!Regulärer Ausdruck Parse Double
int length =0;
length = patternLength(datatype,"^NUMBER\\((\\d+)\\,\\s*\\)$","NUMBER");
private static double patternLengthD(String datatype, String patternString, String startsWith) {
double length=0;
if (datatype.startsWith(startsWith)) {
Pattern patternA = Pattern.compile(patternString);
Matcher matcherA = patternA.matcher(datatype);
if (matcherA.find()) {
length = Double.parseDouble(matcherA.group(1));
}
}
return length;
}
Ihr Muster ist "NUMBER" gefolgt von '(', gefolgt von Ziffern, gefolgt von Komma, gefolgt von Leerzeichen. Aber Sie versuchen, etwas, das Dinge, die keine Leerzeichen nach dem Komma sind – RealSkeptic