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 ...
    0
    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
      0
      1. oui j'ai dit de la merde en fait ...
        0
        1. Ton intention était bonne ^^
          0
      2. 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
        0
        1. Je viens de tester ceci:

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

          Merci à tous et +1 pour Xavier
          0