Mając jakiś dowolny ciąg taki jakZnalezienie powtarzające podciągi
hello hello hello I am I am I am your string string string string of strings
Czy mogę jakoś znaleźć powtarzające podciągi rozdzielonych spacjami (Edycja)? W tym przypadku byłoby to "cześć", "jestem" i "ciąg".
zastanawiałem się o tym od jakiegoś czasu, ale nadal nie mogę znaleźć żadnego realnego rozwiązania. Przeczytałem również kilka artykułów dotyczących tego tematu i trafiłem na drzewa przyrostków, ale czy to mi pomoże, mimo że muszę znaleźć każde powtórzenie np. z powtarzalnością policzyć wyżej niż dwa?
Jeśli tak jest, to jest jakiś biblioteka dla Pythona, który może obsłużyć drzewo sufiksowe i wykonywać operacje na nich?
Edytuj: Przepraszam, nie byłem wystarczająco jasny. Aby to wyjaśnić - szukam powtarzających się pod-łańcuchów, co oznacza sekwencje w łańcuchu, które na przykład w wyrażeniach regularnych mogą być zastąpione przez + lub {} znaki wieloznaczne. Więc jeśli będę musiał zrobić wyrażenia regularnego z wymienionych ciąg, zrobiłbym
(hello){3}(I am){3}your (string){4}of strings
możliwe duplikat [Znajdź najdłuższą powtarzalną sekwencję w ciąg znaków] (http://stackoverflow.com/questions/11090289/find-longest-repetitive-sequence-in-a-string) – fsw
Myślę, że tak. Właściwie to przeczytałem to pytanie, zanim opublikowałem to i nie wpadłem na pomysł, jak przekonwertować rozwiązanie, które będzie odpowiednie dla mojego problemu. – Jendas
Prawda, skupiłem się tylko na tym, czego naprawdę chciałem. Przepraszam za to. – Jendas