Pattern.compile, Matcher i regex

0

Witam!
Chciałbym zamienić tę linijkę kodu :

if(Pattern.compile("\\d+").matcher(nazwisko).matches())

na taką, która dodatkowo będzie wyłapywała gdy nazwisko będzie Stringiem typu "123abc" lub "abc123", bo na chwile obecna wylapuje jedynie Stringi, które są w całości cyferkami, np.
Mam coś takiego:
(123) - true
(123abc) - false
(abc) - false
a chcę:
(123)-true
(123abc)-true
(abc123)-true
(abc)- false
Próbowałem coś takiego, ale nie działa:

if(Pattern.compile("\\d+|(\\d+&\\D+)").matcher(nazwisko).matches())
1

Poszedłbym w kierunku czegoś takiego:
((?:\d+(?:[a-zA-Z]+)?)|(?:[a-zA-Z]+\d+))

2

Użyj biblioteki. W Apache Commons masz odpowiednie narzędzie

1 użytkowników online, w tym zalogowanych: 0, gości: 1