Code regex remplissant quatre conditions

Résolu
midomar Messages postés 6 Date d'inscription dimanche 25 novembre 2012 Statut Membre Dernière intervention 4 mars 2015 - Modifié par midomar le 3/03/2015 à 01:35
midomar Messages postés 6 Date d'inscription dimanche 25 novembre 2012 Statut Membre Dernière intervention 4 mars 2015 - 4 mars 2015 à 12:10
Bonjour,
je veux un code regex (pour VB.Net) remplissant les conditions suivantes en même temps:
1- Le texte doit se composer d'au moins deux mots et d'au plus six;
2- Chaque mot doit se composer d'au moins deux caractères alphabétiques minuscules;
3- dans les mots composés de deux caractères je veux que ces caractères ne soient pas les mêmes (par exemple: "aa" est refusé);
4- Dans les mots composés de plus de deux caractères un caractère ne doit pas se répéter successivement plus de deux fois (par exemple: "abbb" est refusé mais "babb" est accepté).

Voici le code que j'ai entre les mains et qui fonctionne bien mais que je n'arrive pas à combiner pour satisfaire aux quatre conditions ci-dessus pour le même texte:

Pour satisfaire aux conditions 1 et 2, voici le code:
^(([a-z]+[a-z])(\s[a-z]+[a-z])?(\s[a-z]+[a-z])?(\s[a-z]+[a-z])?(\s[a-z]+[a-z])?(\s[a-z]+[a-z])?)$

Pour satisfaire à la condition 3 voici le code:
^(?!([a-z])\1)[a-z][a-z]$

Pour satisfaire à la condition 4 voici le code:
^(?=[a-z]{3,})(?:([a-z])(?!\1{2}))+$


Mais je ne sais pas comment faire pour les combiner, svp aidez moi, ca fait des semaines que je travaille sur cela sans résultat.
Merci infiniment

--

1 réponse

midomar Messages postés 6 Date d'inscription dimanche 25 novembre 2012 Statut Membre Dernière intervention 4 mars 2015
4 mars 2015 à 12:10
0
Rejoignez-nous