Je voudrais générer une chaîne correspondant à mes regex en utilisant Python 3. Pour cela, j'utilise une pratique bibliothèque appelée rstr.
Mes regex :
^[abc]+.
[a-z]+
Ma tâche :
Je dois trouver un moyen générique de créer une chaîne qui correspondrait à mes deux regex.
Ce que je ne peux pas faire :
Modifier les deux regex ou les fusionner de quelque manière que ce soit. Je considère cela comme une solution inefficace, surtout dans le cas de regex incompatibles :
import re
import rstr
regex1 = re.compile(r'^[abc]+.')
regex2 = re.compile(r'[a-z]+')
for index in range(0, 1000):
generated_string = rstr.xeger(regex1)
if re.fullmatch(regex2, generated_string):
break;
else:
raise Exception('Les regex sont probablement incompatibles.')
print('La chaîne correspondant aux deux regex est : {}'.format(generated_string))
Y a-t-il une solution de contournement ou une bibliothèque magique qui peut gérer cela ? Toute aide est appréciée.
Questions qui semblent similaires, mais qui ne sont pas utiles :
L'auteur possède déjà la chaîne, qu'il veut simplement vérifier contre plusieurs regex de la manière la plus élégante. Dans mon cas, nous devons générer une chaîne de manière intelligente qui correspondrait aux regex.