Partage
  • Partager sur Facebook
  • Partager sur Twitter

Regex et mysql

Cohabitation ?

Sujet résolu
    23 juin 2006 à 19:22:49

    Citation

    Alors, vous avez juste besoin de retenir ceci pour faire une Regex POSIX :

    * Il n'y a pas de délimiteur ni d'options. Votre Regex n'est donc pas entourée de points d'exclamation
    * Il n'y a pas de classes abrégées comme on l'a vu plus haut, donc pas de \d etc... En revanche, vous pouvez toujours utiliser le point pour dire : "n'importe quel caractère".



    ... Oui, parfait. Sauf qu'il y a un problème. si les regex sont sensibles à la casse, l'utilisation d'une option, afin de ne pas distinguer A de a ou I de i, c'est cool.

    Alors ma question est la suivante: peut-on utiliser une option, ou tout du moins un substitut à une option ? L'exemple que j'ai donné est celui que je recherche, donc si quelqu'un peut me renseigner (je pense en particulier à certains experts ès regex' )... Merci d'avance !


    Lpu8er
    • Partager sur Facebook
    • Partager sur Twitter
      23 juin 2006 à 20:36:56

      A priori, pas de délimiteur => pas d'options
      (d'ailleurs il y a une fonction eregi() exprès pour pallier l'absence d'option "i")

      Mais de toute façon en général MySQL est insensible à la casse ^^(ça dépend de la collation utilisée, mais en général c'est bon)
      Par exemple chez moi cette requête renvoie 1 (true quoi)
      SELECT 'hababi' REGEXP 'BaBi$';

      :)


      Sinon il y a bien sûr la classe [A-Za-z] (ou [[:alpha:]] (en fait [:alpha:] dans une classe) qui prend aussi les accentués)
      mais si c'est pour des mots en particulier il faudrait faire un truc du style "[Zz][Uu][Tt]"

      Mais comme j'ai dit tu n'en auras normalement pas besoin puisque c'est généralement déjà insensible à la casse ^^
      • Partager sur Facebook
      • Partager sur Twitter
        24 juin 2006 à 1:12:15

        Pas d'option disponible pour le REGEXP par contre tu peux prendre en compte deux choses pour répondre à ta demande :
        - la collation utilisé par ton champ
        - si ta collation n'est pas de type binaire, tu peux rajouter BINARY pour forcer la comparaison comme dans le cas de l'option i.
        • Partager sur Facebook
        • Partager sur Twitter
          24 juin 2006 à 10:38:20

          Oki, merci beaucoup de vos réponses efficaces :)

          Resolved. :D
          • Partager sur Facebook
          • Partager sur Twitter

          Regex et mysql

          × 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