Précédent   Forum des professionnels en informatique > PHP > Langage > Regex
Regex Forum d'entraide sur les expressions rationnelles PHP. Avant de poster -> FAQ regex, Cours de regex et Sources de regex
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/07/2006, 22h03   #1
Invité régulier
 
Inscription : janvier 2006
Messages : 23
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 23
Points : 6
Points : 6
Par défaut Problème Regex PCRE

Bonsoir à tous,

Je bloque totalement sur la création d'un regex qui permet à un mot de ne contenir que des caractères alphanumériques, des caractères avec accents, des tirets, des underscores et des apostrophes d'une longueur comprise entre 4 et 32 caractères.

Après moulte tentatives toutes infructueuses je viens soliciter votre aide.

Pour l'instant, voici ce que j'ai et qui fonctionne :

Code :
preg_match('`^\w{4,32}$`', $chaine);
Mais je n'arrive pas du tout à faire que toutes les conditions que j'ai énoncé ci-dessus soient réunies dans un seul et même regex


Merci d'avance pour votre aide
raptorman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2006, 22h52   #2
Expert Confirmé
 
Avatar de Maxoo
 
Maxime Pasquier
Expert PHP
Inscription : novembre 2004
Messages : 2 126
Détails du profil
Informations personnelles :
Nom : Maxime Pasquier
Âge : 28
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Expert PHP
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : novembre 2004
Messages : 2 126
Points : 2 602
Points : 2 602
Code :
preg_match("#^[a-z0-9-_'àéè]{4,32}$#i", $chaine);
et tu rajoutes dedans ce que tu veux pour que ca t'ailles ...
__________________
Pour une bien meilleur lisibilité, utilisez la balise [code], c'est le [#] dans votre éditeur.
Mon espace Développez : mes Créations.


Rencontre & Carte des Membres de Developpez.com, version 3.0
Maxoo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2006, 10h20   #3
Invité régulier
 
Inscription : janvier 2006
Messages : 23
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 23
Points : 6
Points : 6
Merci beaucoup pour ta réponse Maxoo.

Effectivement, cela marche parfaitement, mais n'y aurait-il pas un autre moyen pour mettre tous les caractères avec accents sans être obligé de les mettre un par un ?
raptorman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2006, 10h59   #4
Expert Confirmé
 
Avatar de Maxoo
 
Maxime Pasquier
Expert PHP
Inscription : novembre 2004
Messages : 2 126
Détails du profil
Informations personnelles :
Nom : Maxime Pasquier
Âge : 28
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Expert PHP
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : novembre 2004
Messages : 2 126
Points : 2 602
Points : 2 602
je ne crois pas, mais il vaut mieux que le le contrôle toi même ...

ou avec \w, mais je sais pas exactement ce que ca comprend.
__________________
Pour une bien meilleur lisibilité, utilisez la balise [code], c'est le [#] dans votre éditeur.
Mon espace Développez : mes Créations.


Rencontre & Carte des Membres de Developpez.com, version 3.0
Maxoo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2006, 11h11   #5
Invité régulier
 
Inscription : janvier 2006
Messages : 23
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 23
Points : 6
Points : 6
Ok, je vais donc préféré entrer les caractères moi même.

Merci encore
raptorman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2006, 16h50   #6
Membre actif
 
Avatar de Ricou13
 
Inscription : août 2002
Messages : 291
Détails du profil
Informations forums :
Inscription : août 2002
Messages : 291
Points : 175
Points : 175
Salut,

Selon
http://naholyr.free.fr/regexp.pdf
:

Citation:
\w définit la classe des caractères de mot.
\W définit la classe des caractères non-mot.

Attention, ces deux dernières n’ont pas d’équivalent simple en POSIX. Elles incluent les caractères alphanumériques, le caractère de soulignement ‘_’, mais aussi les caractères alphabétiques accentués, qui ne sont pas reconnus par [[:alpha:]].
__________________
il ne faut pas de tout pour faire un monde. Il faut du bonheur et rien d'autre. Paul Eluard
Des fois ça malche, des fois ça malche pas. Garcimore
Ricou13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2006, 17h23   #7
Invité régulier
 
Inscription : janvier 2006
Messages : 23
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 23
Points : 6
Points : 6
Salut Ricou13,

Très interessant ce lien que tu nous donnes, merci beaucoup, cela va être très utile
raptorman est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h40.


 
 
 
 
Partenaires

Hébergement Web