Java - Najlepszy sposób na przechwycenie WSZYSTKICH łańcuchów między dwoma łańcuchami? (wyrażenie regularne?)
To pytanie od dawna mnie dręczy, ale zasadniczo szukam najskuteczniejszego sposobu na przechwycenie wszystkich łańcuchów między dwoma łańcuchami.
Sposób, w jaki to robię od wielu miesięcy, polega na użyciu kilku tymczasowych indeksów, ciągów znaków, podciągów i jest to naprawdę bałagan. (Dlaczego Java nie ma rodzimej metody, takiej jakString substring(String start, String end)
?
Powiedz, że mam ciąg:
abcabc [pattern1]foo[pattern2] abcdefg [pattern1]bar[pattern2] morestuff
Ostatecznym celem byłoby wyjściefoo
ibar
. (A później do dodania do listy JList)
Próbowałem włączyć wyrażenie regularne.split()
ale nie udało się. Próbowałem użyć składni*
i.
ale nie sądzę, żeby to było dokładnie to, co mam na myśli.split()
tylko jeden argument dzieli się na.
W przeciwnym razie myślę, że innym sposobem jest użycie klas Pattern i Matcher? Ale naprawdę nie rozumiem właściwej procedury.