Regex

Résolu
Bonjour,
Je récupère un champ textarea et j'ai du mal à vérifier le contenu du champ avec une regex:
Mon champ doit contenir une suite de chaine qui doivent se présenter comme ceci: nomun=unechaine;nomdeux=uneautrechaine; et je veux vérifier que le champ contient bien une chaine suivi d'un égal puis une autre chaine suivi d'un point virgule et ceci une ou plusieurs fois.

Merci
Configuration: DELL Precision M4400
XP Pro 32bits
Intel T9400 2,54Ghz
4Go DDRII 800

6 réponses

  1. if (ereg('^unnom=(.+);unnomdeux=(.+);$',$_POST['textarea']))
    {echo 'ta chaine a matche!';}
    else
    {echo 'echec';}

    je dirais que ça ressemble à ça ...
    1. Thamior: Merci pour le lien.
      Claire: c'est pas tout a fait sa :), ce que je veux c'est avoir ^[a-zA-Z]=[a-zA-Z];$ et cela une ou plusieurs fois dans le textarea.
      (une chaine suivi d'un égal puis une autre chaine suivi d'un point virgule, en une ou plusieurs fois dans le textarea).

      Merci
      1. Bonjour,

        Essaie ceci :
        /^([a-zA-Z]+=[a-zA-Z]+;)+$/

        Et si tu veux autoriser la dernière égalité à ne pas se terminer par un point-virgule :
        /^([a-zA-Z]+=[a-zA-Z]+;)*([a-zA-Z]+=[a-zA-Z]+;?)$/

        Xavier
        1. Je viens de tester ceci:

          ^(([a-z]+)=([a-z]+);)+$
          et sa marche !

          Merci à tous et +1 pour Xavier