Suche nach einem wiederholten Musters in einer Zeichenfolge
Wie finde ich ein wiederholtes Muster in einem string? Zum Beispiel, wenn die input-Datei wurden
AAAAAAAAA
ABABAB
ABCAB
ABAb
wäre es-Ausgang:
A
AB
ABCAB
ABAb
- Was ist, wenn der string ist
"AABB"
. Was ist die erwartete Ausgabe? AABB
. Das wiederholen hat sich auf den Weg vom start zum Ende, andernfalls zurück, der ganze string.- Ich glaube nicht, dass dies ein Duplikat ist. Wenn ich Verstand die Frage gut, seine wiederholten pattern in string, nicht Charakter.
- Wenn der string AABB, dann würde der Ausgang sein AABB
Du musst angemeldet sein, um einen Kommentar abzugeben.
Diese Ausgaben, was Sie sich wünschen - der regex kann wahrscheinlich verbessert werden, um zu vermeiden, die Schleife, aber ich kann nicht verwalten, es zu beheben...
Wenn Sie regex verwenden, müssen Sie nur eine Zeile:
Abbau der regex
(.+?)\1
:(.+?)
bedeutet "mindestens ein Zeichen, aber so wenige wie möglich, erfasst als Gruppe 1"\1
bedeutet "das gleiche Zeichen(s) - Gruppe 1Hier ist etwas test-code:
Ausgabe:
AAAAAAB
?In C# geschrieben, aber die übersetzung sollte trivial sein.
Wenn du vielleicht Leerzeichen zwischen den wiederholten segment: