Gibt es eine Lib, um Daten nach einem regulären Ausdruck zu generieren? (Python oder andere)

8

Gegeben eine regexp, würde ich gerne Zufallsdaten x Anzahl der Zeit generieren, um etwas zu testen.

z.B.

%Vor%

Natürlich ist es das Ziel, etwas komplizierteres zu tun als Telefonnummern und E-Mail-Adressen.

Gibt es so etwas? Wenn ja, existiert es für Python? Wenn nicht, irgendeine Ahnung / Theorie könnte ich verwenden, um das zu tun?

    
e-satis 13.08.2010, 13:35
quelle

3 Antworten

7

Pyparsing enthält diesen Regex-Inverter , der einen Generator aller Permutationen für einfache Regexe zurückgibt. Hier sind einige der Testfälle aus diesem Modul:

%Vor%

Bearbeiten:

Um Ihre zufällige Auswahl zu treffen, erstellen Sie eine Liste (einmal!) Ihrer Permutationen, und rufen Sie dann random.choice in der Liste jedes Mal auf, wenn Sie eine zufällige Zeichenfolge haben wollen, die der Regex entspricht, etwa so (ungetestet):

%Vor%     
PaulMcG 13.08.2010, 13:59
quelle
2

Es gibt einen Post auf der Python-Mailingliste über ein Modul, das generiert alle Permutationen einer Regex. Ich bin mir nicht so sicher, wie du es mit Randomisierung machen könntest. Ich werde weiter nachsehen.

    
detly 13.08.2010 13:43
quelle
1

Ich werde wahrscheinlich dafür ausgepeitscht werden, aber Perl hat ein Modul, das genau das tut. Vielleicht sollten Sie sich den Code ansehen, wie er in Python implementiert wird:

Ссылка

    
nicomen 13.08.2010 13:44
quelle

Tags und Links