Code regex remplissant quatre conditions [Résolu]

midomar 6 Messages postés dimanche 25 novembre 2012Date d'inscription 4 mars 2015 Dernière intervention - 1 mars 2015 à 16:11 - Dernière réponse : midomar 6 Messages postés dimanche 25 novembre 2012Date d'inscription 4 mars 2015 Dernière intervention
- 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

--
Afficher la suite 

1 réponse

Répondre au sujet
midomar 6 Messages postés dimanche 25 novembre 2012Date d'inscription 4 mars 2015 Dernière intervention - 4 mars 2015 à 12:10
Commenter la réponse de midomar

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.