Witam,
mam problem z korzystaniem z wyrażeń regularnych. Powiedzmy, że mam łańcuch wczytany z konsolli:
"2+4*5-7" //ale może też być: "2 + 4 *5 -7" czyli dowolna liczba spacji
Pomysł jest taki, żeby rozdzielić ten string na dwie tablice (właściwie listy) stringów w taki sposób:
tab1 = ["2", "4", "5", "7"]
tab2 = ["+", "*", "-"];
Wtedy w klasie Kalkulator można spokojnie zaimplementować metodę do wykonywania działań: z jednej tablicy pobiera operator, z drugiej zmienne (operandy) i zapisuje wynik w pamięci.
Tylko, że nie wiem jak podzielić ten wejściowy string...
Próbowałem czegoś takiego:
Pattern wzorzec = Pattern.compile("([\\+\\*/-])");
Matcher tekst = wzorzec.matcher(str);
ale nie mogę dostać żadnej grupy rozdzielonego tekstu, a chciałbym dostać same operatory.
Dotąd nie używałem wyrażeń regularnych w żadnym języku więc nie wiem jak to można zrobić. Poza tym zastanawiam się czy istnieje lepsze rozwiązanie na sparsowanie tych wyrażeń.
Z góry dzięki za wszelkie wskazówki