IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PostgreSQL Discussion :

Signification exacte d'une expression


Sujet :

PostgreSQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 16
    Par défaut Signification exacte d'une expression
    Bonjour,

    dans une clause where de mon select, j'ai l'expression suivante :

    AND B0.sexternalid ~ '^[0-9]{8,9}O[A-Za-z0-9]{6}[0-9]+$'


    Que cela signifie-t-il exactement?
    Que mon champ B0.sexternalid doit être compris entre 0 et 9 ou entre A et Z (en majuscule) ou entre a et z (en miniscule)?
    Que veulent alors dire les expression {8,9} et {6}?

    Merci bien.

  2. #2
    Membre Expert Avatar de scheu
    Inscrit en
    Juin 2007
    Messages
    1 506
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 1 506
    Par défaut
    Si tu commençais par regarder la doc officielle
    http://www.postgresql.org/docs/8.2/i...NS-POSIX-TABLE
    La théorie, c'est quand on sait tout mais que rien ne fonctionne.
    La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi.
    Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi !

    Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 16
    Par défaut
    Merci bien pour la doc.

    Je l'ai parcourue.

    Si je ne me trompe pas, l'expression :
    AND B0.sexternalid ~ '^[0-9]{8,9}O[A-Za-z0-9]{6}[0-9]+$'

    pourrait être traduite en :
    AND (B0.sexternalid like '6%' or B0.sexternalid like '9O6%')

    où % désigne un ou plusieurs chiffres entre 0 et 9.

    Maintenant, je me suis peut-être complétement trompé
    Merci bien pour la confirmation.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 16
    Par défaut
    Autant pour moi pour les smileys !!

    Il faut bien sur comprendre :

    AND (B0.sexternalid like '8O6%' or B0.sexternalid like '9O6%')

  5. #5
    Membre Expert
    Avatar de hpalpha
    Inscrit en
    Mars 2002
    Messages
    769
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 769
    Par défaut
    euh nan, pas exactement;

    l'expression réguliere

    AND B0.sexternalid ~ '^[0-9]{8,9}O[A-Za-z0-9]{6}[0-9]+$'

    correspond à

    ^ Qui commence par
    [0-9]{8,9} un chiffre entre 0 et 9 repeté 8 ou 9 fois --> 00000000 à 999999999
    O le caractere O
    [A-Za-z0-9]{6} n'importe quel caractere dans [A-Za-z0-9] repete strictement 6 fois --> exemple : ETSQ6P
    [0-9]+ une ou plusieur chiffre
    $ pour dire qu'il n'y a plus rien derriere


    donc les chaines possibles seront par exemple :

    12345678OPOIUYT8908098989098
    789789787OIOH78J7
    789789787OIOH78J7876786575756756756756576576576

  6. #6
    Membre Expert
    Avatar de hpalpha
    Inscrit en
    Mars 2002
    Messages
    769
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 769
    Par défaut
    Avec les likes ca devient vite laborieux et meme des fois franchement impossible a realiser, etudie bien les expressions regulieres, c'est tres puissant, et pas seulement dans le sql, pour tes dev de prog, ca existe dans quasi tous les langages de prog

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Signification d'une expression régulière
    Par jaljal dans le forum Langage
    Réponses: 6
    Dernier message: 22/03/2010, 15h01
  2. signification d'une expression
    Par Wassim123 dans le forum MATLAB
    Réponses: 2
    Dernier message: 05/02/2009, 13h56
  3. [String] rendre une expression reguliere insensible à la case
    Par chimical dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 07/05/2004, 11h38
  4. "Différence de type dans une expression" Tquery
    Par Hakim dans le forum Bases de données
    Réponses: 3
    Dernier message: 20/04/2004, 00h22
  5. [langage] surement une expression régulière...
    Par armada dans le forum Langage
    Réponses: 5
    Dernier message: 30/05/2003, 17h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo