Wpis z mikrobloga

public static void main(String[] args) {
String doPrzeszukania = "Ala ma kota i ma 80 lat";
boolean wynik = doPrzeszukania.matches("\s{1}\d{1,3}");
System.out.println(wynik);
}

Dlaczego wywala mi false skoro string doPrzeszukania zawiera " 80"?

#java #programowanie #naukaprogramowania
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@wiorekogorek: To co napisałeś to:
\s{1} - dokładnie jedna spacja
\d{1,3} - minimum jedna, maksimum trzy cyfry

Czyli matches() zwróci Ci true dla wszystkiego, co ma na początku spację, a zaraz po niej występuje od jednej do trzech cyfr. Jeżeli string będzie zawierać cokolwiek co nie jest cyfrą lub spacją, to zwróci false, bo w tym regexie, który podałeś, nie ma mowy o jakichkolwiek innych
  • Odpowiedz