Je t'explique le premier
([a-z]) une lettre que je capture.
(?![a-z]{0,5}\1) suivi d'un truc qui ne peut pas être de 0 à 5 fois une lettre et la lettre que je viens de capturer (qui se trouve dans la capture 1) : \1, et ainsi de suite.
Ha voilà quelque chose de clair, tu cherches des mots avec toutes les lettres diférentes. Tu devrais écrie ça dans ta description!
Pour en revenir à la regex, faut que je réfléchisse.
ok c'est une limite de la REGEX on ne peu pas Ex: avoir un mot de 7 lettres mais avec une seule occurence de chaque lettres Ex: un seul a ou A un seul F ou f.
J'espere etre plus précis.
je vais posté dans REGEX oui tu as raison.
Merci.
Whismeril
Messages postés18992Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention29 mars 2024654 8 févr. 2017 à 10:35
Comme je te l'ai dit je n'ai pas compris ce que tu souhaites faire avec une Regex.
D'ailleurs la description de l'utilité de ton code est obscure (à part que ça ne sert à rien...), et ça n'aide à comprendre ce que tu veux.
Donc tu postes une question claire dans le forum Regex et on tachera d'y répondre.
je t'attendais mdr!
moi je pense que l'occurence 0 ou 1 c'est avec '?' mais pas moyen de trouvé une solution meme avec {0,1}.
peu tu m'expliqué mieux?(modifie & vire les/la fonctions ( c'est ce que je veut juste la REGEX).
Je ne trouve pas logique qu'on ne puisse pas faire cela simplement avec une Expression Réguliere...
Je ne code pas en python et en parcourant ton code pour essayer de comprendre quel fonction tu voudrais remplacer par une regex, je sèche.
Il y a une catégorie regex dans le forum, poste une question, avec ce que tu as en entrée et ce que tu voudrais obtenir.
Par contre
# Expression reguliere pour obtenir tous les mots de 10 caractères
# reg= r"^[A-Za-z]{10,10}$"
Ceci est faux, cette regex retourne un texte complet contenant 10 lettres et pas 10 caractères.
Pour 10 caractères se serait
^.{10}$
Quand tu cherches un nombre fixe d'occruences, il suffit de l'écrire une fois.
Et quand à mot en regex il veut dire des lettres assemblées et limitées au début et à la fin par:
espace
ponctuation
debut de texte
fin de ligne
fin de texte
Pour chercher un mot, ou plus exactement les limites d'un mot, on utilise \b
16 févr. 2017 à 14:33
merci, je testerai.
Modifié par Whismeril le 15/02/2017 à 07:00
Par contre, on peut simplifier la mienne avec le {0,}.
Et \w matche aussi sur un nombre.
En fait pour faire simple, on peut faire deux passes.
La première matche les mots de 7 lettres
Et la seconde vérifie qu'il n'y a pas de lettre en double.
Je n'ai pas testé, mais en fournissant à la seconde les résultats de la première ça devrait marcher.
15 févr. 2017 à 02:36
Je me demande si une regex comme celle-ci
pour le coup.. ne serait pas plus "facile"
elle match tous les mots ayant une ou plusieurs lettre(s) répétées (une ou x fois..)
14 févr. 2017 à 07:02
14 févr. 2017 à 05:05
Je me disai que c'était possible.
10 févr. 2017 à 13:33
Je t'explique le premier
([a-z]) une lettre que je capture.
(?![a-z]{0,5}\1) suivi d'un truc qui ne peut pas être de 0 à 5 fois une lettre et la lettre que je viens de capturer (qui se trouve dans la capture 1) : \1, et ainsi de suite.
Modifié par Whismeril le 10/02/2017 à 13:16
Pour en revenir à la regex, faut que je réfléchisse.
Modifié par dume. le 10/02/2017 à 10:32
J'espere etre plus précis.
je vais posté dans REGEX oui tu as raison.
Merci.
8 févr. 2017 à 10:35
D'ailleurs la description de l'utilité de ton code est obscure (à part que ça ne sert à rien...), et ça n'aide à comprendre ce que tu veux.
Donc tu postes une question claire dans le forum Regex et on tachera d'y répondre.
Modifié par dume. le 8/02/2017 à 07:38
moi je pense que l'occurence 0 ou 1 c'est avec '?' mais pas moyen de trouvé une solution meme avec {0,1}.
peu tu m'expliqué mieux?(modifie & vire les/la fonctions ( c'est ce que je veut juste la REGEX).
Je ne trouve pas logique qu'on ne puisse pas faire cela simplement avec une Expression Réguliere...
Modifié par Whismeril le 8/02/2017 à 06:37
Je ne code pas en python et en parcourant ton code pour essayer de comprendre quel fonction tu voudrais remplacer par une regex, je sèche.
Il y a une catégorie regex dans le forum, poste une question, avec ce que tu as en entrée et ce que tu voudrais obtenir.
Par contre
Ceci est faux, cette regex retourne un texte complet contenant 10 lettres et pas 10 caractères.
Pour 10 caractères se serait Quand tu cherches un nombre fixe d'occruences, il suffit de l'écrire une fois.
Et quand à mot en regex il veut dire des lettres assemblées et limitées au début et à la fin par:
Pour chercher un mot, ou plus exactement les limites d'un mot, on utilise \b
Modifié par dume. le 8/02/2017 à 03:57
Merci