Rechercher : dans
Par :
 Signaler ce message aux modérateurs

Bonjour,
Je voudrais créer une Regex qui exclut tout les caractères spéciaux sauf le "_", qui autorise le lettres en majuscules et les chiffres. De plus, le "_" n'a pas le droit d'être au début ni à la fin et a le droit d'être utilisé qu'une seule fois. Par exemple, elle doit reconnaitre : "aZ_78abc" mais pas "_Abc1" ni "3_ab_c".

Je veux l'insérer dans cette structure :


if (preg_match("# MA REGEX #", $texte))
{

echo 'Correct';

}

else
{

echo 'Erreur';

}



Bonne soirée.
Configuration: Windows Vista
Firefox 3.0.6

Meilleures réponses pour « REGEX » dans :
Javascript - L'objet RegExp Voir Les particularités de l'objet RegExp L'objet RegExp est un objet permettant de manipuler des expressions régulières, c'est-à-dire des modèles créés à l'aide de caractères ASCII permettant de manipuler des chaînes de caractères, afin de trouver des...
[RegExp] Récupérer une adresse IP VoirFinalité Mise en œuvre Explications Interprétation du motif Récupérer une adresse IP Finalité Pour récupérer une IP dans un fichier texte, fichiers journaux, pages web, etc. Mise en œuvre L'expression régulière suivante combinée à la...

1

Dalida, le 6 mar 2009 à 20:15:20

Salut,

allez, je tente, j'ai jamais fait autant de Regex qu'en répondant sur CCM !
-:oD

'`[A-Z,0-9]+_{1}[A-Z,0-9]+`'

LETTRES ou chiffres une fois ou plus, soulignement une fois, LETTRES ou chiffres une fois ou plus.
[ Mathieu ]
Il y a sûrement des pandas pour ne dépendre de rien

Répondre à Dalida

2

gigaga, le 6 mar 2009 à 20:16:20

If (preg_match("/[a-z0-9]+[a-z0-9_]*[a-z0-9]+/i", $texte) && substr_count($texte, "_")<=1)

Répondre à gigaga

3

gigaga, le 6 mar 2009 à 20:18:33

L'ER de Dalida est mieux que la mienne, car moi je fais 2 controles (je voyais pas comment m'assurer que _ n'est qu'une seule fois).
Par contre, l'ER faut l'encapsuler par "//i" pour que ce soit insensible à la casse.

Répondre à gigaga

4

Dalida, le 6 mar 2009 à 20:20:06

Re,

L'ER de Dalida est mieux que la mienne
mais elle contient une erreur que j'ai vu grâce à toi !

'`[A-Z0-9]+_{1}[A-Z0-9]+`'

à trois on va finir par y arriver, c'est sûr !
-:oD
[ Mathieu ]
Il y a sûrement des pandas pour ne dépendre de rien

Répondre à Dalida

5

gigaga, le 6 mar 2009 à 20:22:20

Ah oui, la virgule... J'avais meme pas vu ;)

Je dirai donc :

'/^[A-Z0-9]+_{1}[A-Z0-9]+$/i'


Tu confirmes? ;)

Répondre à gigaga

6

Dalida, le 6 mar 2009 à 20:23:16

Oui mais sans le "i" puisqu'il ne veut que des majuscules !
-;o)

<edit>
Je voudrais créer une Regex qui exclut tout les caractères spéciaux sauf le "_", qui autorise le lettres en majuscules et les chiffres.
on finit par parler tout seuls !
</edit>
[ Mathieu ]

Il y a sûrement des pandas pour ne dépendre de rien

Répondre à Dalida

7

gigaga, le 6 mar 2009 à 20:25:49

Je suis pas sûr :

Par exemple, elle doit reconnaitre : "aZ_78abc" mais pas "_Abc1" ni "3_ab_c".

Il a dit qu'elle doit reconnaitre les majscules mais je pense qu'il a dit ça dans le sens "en plus des minuscules".
Sinon j'ai ajouté les caractères de début et de fin de chaine et enlevé tes `

Répondre à gigaga

8

pepifou, le 6 mar 2009 à 20:26:32

Merci de vos réponses, je vais tester tout ça. Pour rappel je veux pourvoir mettre des lettres minuscules ET majuscules.

Répondre à pepifou

9

gigaga, le 6 mar 2009 à 20:27:46

if (preg_match("/^[A-Z0-9]+_{1}[A-Z0-9]+$/i", $texte))


doit donc être OK ;)

Répondre à gigaga

10

Dalida, le 6 mar 2009 à 20:29:59
  • +1

je veux pourvoir mettre des lettres minuscules ET majuscules.
donc on peut directement passer à :

^[ [:alnum:] ]+_{1}[ [:alnum:] ]+$/i

sans les espaces… [ Mathieu ]
Il y a sûrement des pandas pour ne dépendre de rien

Répondre à Dalida

11

gigaga, le 6 mar 2009 à 20:31:31
  • +2

Cela dit {1} ne sert à rien

^[ [:alnum:] ]+_{1}[ [:alnum:] ]+$/i 

=
^[ [:alnum:] ]+_[ [:alnum:] ]+$/i

Répondre à gigaga

12

Dalida, le 6 mar 2009 à 20:33:03

Exact !
plus un !
[ Mathieu ]

Il y a sûrement des pandas pour ne dépendre de rien

Répondre à Dalida

13

Dalida, le 6 mar 2009 à 20:35:53
  • +1

On est des bêtes, il nous manque qu'un testeur en fait !
-:oD
[ Mathieu ]

Il y a sûrement des pandas pour ne dépendre de rien

Répondre à Dalida

14

gigaga, le 6 mar 2009 à 20:36:40

Pas faux! On s'excite tout seul à la moindre l'ER a faire ;)

Répondre à gigaga

15

pepifou, le 6 mar 2009 à 21:22:46

Merci Dalila et Gigaga pour votre réponse rapide et votre REGEX fonctionnelle, elle marche niquel !
Bonne soirée à vous et encore merci !

Répondre à pepifou

16

Dalida, le 6 mar 2009 à 21:25:44

You're welcome et bon courage pour la suite !…
-;o)
[ Mathieu ]

Il y a sûrement des pandas pour ne dépendre de rien

Répondre à Dalida

17

 pepifou, le 6 mar 2009 à 21:53:34

C'est ici que j'utilise votre REGEX : http://bf.attitude.free.fr

Répondre à pepifou
Collection CommentÇaMarche.net