Wpis z mikrobloga

Piszę prosty program w #java w którym jedna z metod sprawdza czy w pobranym od użytkownika słowie znajdują się znaki inne niż litery (np. cyfry czy znaki specjalne). Pierwotnie metoda wyglądała tak:

public boolean charFinder(String inputString) {
Pattern p = Pattern.compile("\W", Pattern.CASE_INSENSITIVE);
Pattern p2 = Pattern.compile("0-9", Pattern.CASE_INSENSITIVE);
Matcher m = p.matcher(inputString);
Matcher m2 = p2.matcher(inputString);

return m.find() || m2.find();
}

I wszystko śmigało jak powinno jednak chciałbym to zrobić bardziej elegancko, druga próba wygląda tak:

public boolean charFinder(String inputString) {
Pattern p = Pattern.compile("\W | \d", Pattern.CASE_INSENSITIVE);
Matcher m = p.matcher(inputString);

return m.find();
}

I ta metoda już nie działa. Poprawnie połączyłem regexy?

#naukaprogramowania #programowanie
  • 4