Hallo,
ist es mit Regex möglich sich überlappende Treffer als einzelne Matches zu finden?
Mit diesem Regex
Beispiel: Er ging ging für ging für 5 Euro Eis kaufen.
Hier sollte entsprechend
Bei diesem Satz funktionieren klarerweise beide:
Er ging ging, ging für ging für 5 Euro Eis kaufen.
Edit: Ach Gott, ich vergiss mal wieder die Hälfte. An sich sollte es mit einem positive Lookahead funktionieren, aber ich bekomms nicht hin.
Edit2: Zur Not muss halt 2 unterschiedliche Abfragen (eine für Wortdopplungen und eine für Dopplungen von Wortgruppen) laufen lassen, aber was, wenn nun ein Wort/eine Wortgruppe 3 Mal oder öfter hintereinander vorkommt?
LG,
Pascal
ist es mit Regex möglich sich überlappende Treffer als einzelne Matches zu finden?
Mit diesem Regex
(.+)\b\1\b
sollen Wortdopplungen oder Dopplungen von Wortgruppen gefunden werden. Funktioniert an sich recht gut, aber was, wenn sich solche Dopplungen überschneiden?Beispiel: Er ging ging für ging für 5 Euro Eis kaufen.
Hier sollte entsprechend
ging ging
und ging für ging für
erkannt werden, angezeigt wird aber nur ging ging
.Bei diesem Satz funktionieren klarerweise beide:
Er ging ging, ging für ging für 5 Euro Eis kaufen.
Edit: Ach Gott, ich vergiss mal wieder die Hälfte. An sich sollte es mit einem positive Lookahead funktionieren, aber ich bekomms nicht hin.
Edit2: Zur Not muss halt 2 unterschiedliche Abfragen (eine für Wortdopplungen und eine für Dopplungen von Wortgruppen) laufen lassen, aber was, wenn nun ein Wort/eine Wortgruppe 3 Mal oder öfter hintereinander vorkommt?
LG,
Pascal
Leider hab ich nicht immer Zeit zum Programmieren, da es eher ein Hobby ist. Falls ich mal im Forum ne Frage stelle und länger nicht antworte, nicht böse sein: Ich bin dann entweder beruflich oder mit der Familie zu sehr eingespannt oder einfach zu müde. Das kann erfahrungsgemäß auch mal über Wochen dauern, aber ich melde mich immer und setze die Frage ggf. auf beantwortet.
Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „Translating-IT“ ()