Generator für reguläre Ausrücke
-
Hi!
Ich möchte einen oder wenige reguläre Ausdrücke schreiben, um eine Vielzahl von Wörtern zu erkennen.
Beispiel:
sheoppingadddonu shooppinegaddon shoopppinogaddoon shoppeinngadddonn shoppingyaddounn shoppinygadudoon shoyppingaddoinn shuoppiinygaddon syhoppingadddon ...Obige Wörter sind nur ein kleiner Auszug aus mehreren Hundert oder sogar Tausend Varianten. Manuelles Entwickeln von regulären Ausdrücken ist nur sehr schwer möglich, da es auch wiederum hunderte von solchen Sets gibt. Insgesamt geht es darum mit wenigen regulären Ausdrücken einige 10-Tausend bis 100-Tausend Wörter zu erkennen.
Frage:
Gibt es einen Generator, den ich mit einem Set füttere und der mir anschließend den oder sie regulären Ausdrücke generiert?
Danke im Voraus!
-
Regulaere Audruecke sind keine Loesung. Nimm ein Referenzwort berechne den Abstand zu einem anderen Wort mit einem geeigneten Abstandsmass (bspw: http://de.wikipedia.org/wiki/Levenshtein-Distanz), sortiere die Ergebnisse.
Ansonsten:
Gibt es einen Generator, den ich mit einem Set füttere und der mir anschließend den oder sie regulären Ausdrücke generiert?
Deine Menge ist endlich, der endliche Automat ist trivial, der regulaere Ausdruck auch, einfach eine Oder-Verknuepfung aller Worte im Set.
-
knivil schrieb:
Regulaere Audruecke sind keine Loesung. Nimm ein Referenzwort berechne den Abstand zu einem anderen Wort mit einem geeigneten Abstandsmass (bspw: http://de.wikipedia.org/wiki/Levenshtein-Distanz), sortiere die Ergebnisse.
Ansonsten:
Gibt es einen Generator, den ich mit einem Set füttere und der mir anschließend den oder sie regulären Ausdrücke generiert?
Deine Menge ist endlich, der endliche Automat ist trivial, der regulaere Ausdruck auch, einfach eine Oder-Verknuepfung aller Worte im Set.
Das wäre eine Möglichkeit eine Entscheidung via Levenshtein-Distanz zu fällen. Aber die Möglichkeiten sind leider sehr begrenzt, da das Matching innerhalb einer Datenbank stattfindet. Habe ich vergessen zu erwähnen.
Daher meine Idee einen "optimalen" Regulären Ausdruck über einen C++ Algorithmus zu ermitteln und diesen dann in der Datenbank einzutragen.
Darauf wird es leider hinauslaufen - eine Menge Arbeit
