8
votes

Existe-t-il une libération de données selon une regex? (Python ou autre)

Étant donné une regexp, je voudrais générer des données aléatoires x nombre de temps pour tester quelque chose.

par exemple par exemple xxx

bien sûr que l'objectif est de faire quelque chose d'un Peu plus compliqué que celui tel que des numéros de téléphone et des adresses électroniques.

fait quelque chose comme ça existe? Si c'est le cas, il existe-t-il pour Python? Sinon, aucun indice / théorie, je pourrais utiliser pour le faire?


0 commentaires

3 Réponses :


2
votes

Il y a un message sur le python Liste de diffusion sur un module qui génère toutes les permutations d'une regex. Je ne suis pas si sûr de la façon dont vous pourriez faire la randomaison. Je vais continuer à vérifier.


1 commentaires

@ e-sattis - je l'ai trouvé quelque part ailleurs sur :)



1
votes

Je serai probablement flagellé pour suggérer cela, mais Perl a un module qui fait exactement cela. Vous voudrez peut-être examiner le code comment la mettre en œuvre en Python:

http://p3rl.org/string::Random


2 commentaires

Donc, vous n'avez pas encore de bouton [Whip], alors vous êtes en sécurité.


Intéressant de savoir qu'il existe, du moins pour Perl. +1



8
votes

PYPARSING comprend Cet onduleur Regex , qui retourne un Générateur de toutes les permutations pour des expulsions simples. Voici quelques-uns des cas de test à partir de ce module: xxx

edit:

Pour effectuer votre sélection aléatoire, créez une liste (une fois! ) de vos permutations, puis appelle aléatoire.choice sur la liste à chaque fois que vous souhaitez une chaîne aléatoire correspondant à la regex, quelque chose comme ceci (non testé): xxx


4 commentaires

Presque ce que je cherche. +1


J'ai également emballé ce module en tant qu'utilisation utilitaire sur utickmill: utilitairemill.com/utility/regex_inverter . Tous les utilitaires UM exposent les API XML et JSON, vous pouvez donc appeler cela à distance à partir de votre propre code et que UticleMill fait le traitement de l'inversion RegEx.


@PaulMCG: Le site nécessite un nom d'utilisateur et un mot de passe d'Upfront.


Désolé, le propriétaire du site devait être spammé et devait manifester l'accès.