Cześć,
mam taki problem mam jakiś tekst np. "Due to too many attempts to log in, the account has been suspended for 15 minute(s).". Chciałbym go porównać z innym tekstem, identycznym z taką różnicą, że czas może być różny. Zamiast 15 może być np. 5.
Czyli chciałbym mieć stringa jak wyżej tylko, żeby liczba minut dopasowywała się do tej z pobranego innego stringa.
Jak skonstruować takiego stringa?
Jest jakoś możliwość, żeby w miejsce liczby podać jakiegoś wildcard? Próbowałem z \d{1}
, ale coś chyba, źle rozumiem jak to działa :(
- Rejestracja:około 13 lat
- Ostatnio:ponad 2 lata
- Lokalizacja:Wrocław
- Postów:259

- Rejestracja:około 8 lat
- Ostatnio:około godziny
- Postów:4935
Zalezy ilu cyfrowa ma być ta liczba minut:
\d
- dokładnie jedna cyfra;
\d+
- jedna lub więcej cyfra;
\d{<tu liczba ile dokładnie ma być cyfr>}
;
\d\d?
- jedna lub dwie cyfry, tu juz mozna kombinować: d\d?\d?
- od jednej do trzech cyfr, itd...
- Rejestracja:około 13 lat
- Ostatnio:ponad 2 lata
- Lokalizacja:Wrocław
- Postów:259
Mhm, tylko jak porównać te stringi czy jeden jest równy drugiemu? Obecnie mam coś takiego:
stringPattern.contains(string)
Gdzie ten pierwszy to ""Due to too many attempts to log in, the account has been suspended for \d+ minute(s).",
a drugi "Due to too many attempts to log in, the account has been suspended for 15 minute(s)."
- Rejestracja:ponad 10 lat
- Ostatnio:6 miesięcy
- Lokalizacja:Warszawa
- Postów:3573
\d\d? - jedna lub dwie cyfry, tu juz mozna kombinować: d\d?\d? - od jednej do trzech cyfr, itd...
A nie 0 lub 1?

- Rejestracja:około 8 lat
- Ostatnio:około godziny
- Postów:4935
barslo napisał(a):
Mhm, tylko jak porównać te stringi czy jeden jest równy drugiemu? Obecnie mam coś takiego:
stringPattern.contains(string)
Gdzie ten pierwszy to ""Due to too many attempts to log in, the account has been suspended for \d+ minute(s).",
a drugi "Due to too many attempts to log in, the account has been suspended for 15 minute(s)."
https://docs.oracle.com/javase/tutorial/essential/regex/test_harness.html
- Rejestracja:około 13 lat
- Ostatnio:ponad 2 lata
- Lokalizacja:Wrocław
- Postów:259
No dobra doszedłem do czegoś takiego:
Pattern p = Pattern.compile("Due to too many attempts to log in, the account has been suspended for \\d+ minute(s).");
Matcher m = p.matcher("Due to too many attempts to log in, the account has been suspended for 1 minute(s).");
m.matches();
Jednak zwracam mi fail.
Intellij podpowiada mi coś jak by z tymi nawiasami było coś nie tak.
- screenshot-20171031133640.png (28 KB) - ściągnięć: 149
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.
czyli
napisałemczy
XDDscibi92