Partage
  • Partager sur Facebook
  • Partager sur Twitter

cours REGEX prob tout simple

    17 mars 2006 à 21:36:31

    bonjour,
    je suis en train d'apprendre le cours sur les regex et je me sui fais un petit exo mais je ne comprend pas le resultat:(Vraie)
    <?php
    if(preg_match("![^0-9]!", "12 a")){

            echo "Vraie";

    }else{

            echo "Faux";

    }
    ?>


    2.test:(Faux)
    <?php
    if(preg_match("![^0-9]!", "12")){

            echo "Vraie";

    }else{

            echo "Faux";

    }
    ?>


    Le deuxième resultat me parrait cohérant mais pas le deuxième.
    Merci d'avance pour vos reponses.
    • Partager sur Facebook
    • Partager sur Twitter
      17 mars 2006 à 21:40:42

      C'est pas plutôt :

      preg_match('`^[^0-9]*$`','12')


      nan ?
      • Partager sur Facebook
      • Partager sur Twitter
        17 mars 2006 à 21:40:55

        J'avais pas compris avec ça aussi:

        Le deuxième resultat me parrait cohérant mais pas le deuxième.
        • Partager sur Facebook
        • Partager sur Twitter
          17 mars 2006 à 21:43:08

          je viens à peine d'apprendre donc ^permet moi cette question: qu'est-ce " *$ "??
          je viens de voir que je me scis trompé en écrivant:
          je trouve le deuxième resultat cohérant mais pas le premier
          • Partager sur Facebook
          • Partager sur Twitter
            17 mars 2006 à 21:50:53

            ^ est l'ancre de début de chaîne, pour dire que la chaîne doit par ce qui suit.
            $ celle de fin.
            Et * est un quantificateur, pour dire 0 fois ou plus (ici pour la classe de caractères).
            • Partager sur Facebook
            • Partager sur Twitter
              17 mars 2006 à 21:57:55

              mais je ne comprends pas pourquoi mon premier code ne marchait pas je lui ai demendé si il y avait des numéraux or il y en a mais, ça renvoi true quand meme
              • Partager sur Facebook
              • Partager sur Twitter
                17 mars 2006 à 22:12:39

                Parce que ta regex signifie "au moins un caractère qui n'est pas un chiffre".
                • Partager sur Facebook
                • Partager sur Twitter
                  17 mars 2006 à 22:53:02

                  Alors pourquoi ça retourne faux ça?

                  if(preg_match(" !^[0-9]!", "Je vis au 21ème siècle")){

                  echo "Vraie";

                  }else{

                  echo "Faux";

                  }
                  ?>
                  • Partager sur Facebook
                  • Partager sur Twitter
                    17 mars 2006 à 23:09:08

                    Parce que la chaîne ne commence pas par un chiffre.
                    • Partager sur Facebook
                    • Partager sur Twitter
                      18 mars 2006 à 8:09:55

                      Citation : 6(sic)6

                      C'est pas plutôt :

                      preg_match('`^[^0-9]*$`','12')



                      nan ?


                      Quel est l'intérêt de faire ça ?
                      • Partager sur Facebook
                      • Partager sur Twitter
                        18 mars 2006 à 10:44:35

                        Aucune idée, j'ai essayé de faire quelque chose qui marche pour lui ; c'est pas bon ?
                        • Partager sur Facebook
                        • Partager sur Twitter
                          18 mars 2006 à 11:52:04

                          Citation : 6(sic)6

                          Aucune idée, j'ai essayé de faire quelque chose qui marche pour lui ; c'est pas bon ?



                          Lis ou relis ce que tu as écrit ;)
                          • Partager sur Facebook
                          • Partager sur Twitter

                          cours REGEX prob tout simple

                          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                          • Editeur
                          • Markdown