2016-08-05 5 views
-3

Mit jedem gängigen Werkzeug auf einem GNU/Linux-System (Python, sed, awk, * sh, ...), würde ich gerne eine Liste von alle die Wörter ausgeben eine gegebene Regex übereinstimmen. Im Gegensatz zu den Beispielen, die ich gefunden habe, möchte ich nicht die Liste der Wörter von einem gegebenen Text abrufen, die der Regex entsprechen. Zum Beispiel, wenn der Regex ist "[aA] foo", würde Ich mag ein Werkzeug haben, das gibt.Holen Sie sich die Liste der Wörter passend zu einem Regex

afoo 
Afoo 

Wenn der Regex eine inifinite Anzahl von Worten übereinstimmt (zB „a * "), ich erwarte nicht, dass es schlau ist, es kann abstürzen oder was auch immer.

Ich möchte die Ausgabe in einer Datei mit einem Wort pro Zeile (oder in einem beliebigen Format, das ich in eine Datei umleiten kann) haben. Die erwartete Ausgabegröße beträgt etwa 20K Wörter.

bearbeiten

Mit dem Schlüsselwort „erzeugen“ aus dem doppelten Satz, ich glaube, diese Frage mehr ist ein Duplikat dieser: Using Regex to generate Strings rather than match them

+0

Viel Glück mit dieser unmöglichen Aufgabe –

+1

Mögliche Duplikate von [Generiere alle Übereinstimmungen für Regex] (http://StackOverflow.com/Questions/21517428/Generate-all-Matches-for-Reex) – Barmar

+0

Meine Frage kann zu breit sein und bezieht sich nicht auf die echten regulären Ausdrücke. Ich brauche nur die Funktionen "Klammern" und "geschweifte Klammern". Zum Beispiel möchte ich [A-Zbc] {1,4} foo [aA] "erweitern". Dies ist definitiv möglich. Gibt es eine andere Synthax-Sprache, die ich für diesen speziellen Zweck ausprobieren sollte? – elkami

Antwort

1

Ein solches Werkzeug existiert nicht, da es technisch unmöglich ist, . In vielen Fällen gibt es unendlich viele passende Saiten, oft haben sie variable Länge. Man kann dafür kein Werkzeug konstruieren, es geht über die Grenzen der Möglichkeiten hinaus.

Verwandte Themen