1. #1
    Membre à l'essai
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    janvier 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : janvier 2012
    Messages : 16
    Points : 13
    Points
    13

    Par défaut Expression réguliere sous SAS

    Bonjour,

    J'aimerais utiliser une expression régulière pour valider le contenu d'un champ alphanumérique qui est composé seulement de 4 caractères et 3 numériques,
    exemple : ABCD456.
    S'il n'a pas ce format, je dois le flaguer à faux.
    Quelqu'un peut m'aider, j'ai cherché sur le forum, mais je n'ai pas trouvé.

    J'ai commencé par ça, mais ça ne marche pas, ça me renvoie 1 à chaque fois.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    data _NULL_;
    	X=prxparse("[A-Z][A-Z][A-Z][A-Z][0-9][0-9][0-9]");
    	Y="ABCD001"; Z=rxmatch(X,Y);  put X Y Z;  /*OK*/
    	Y="ABCD001AAAA"; Z=rxmatch(X,Y);  put X Y Z;  /*KO*/
    	Y="33ABCD001"; Z=rxmatch(X,Y);  put X Y Z; /*KO*/
     
    run;
    Merci d'avance pour votre retour.

    Cordialement
    HD

  2. #2
    Membre à l'essai
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    janvier 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : janvier 2012
    Messages : 16
    Points : 13
    Points
    13

    Par défaut

    Voici le code utilisé, petite erreur dans celui que j'ai envoyé.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    data _NULL_;
    X=rxparse("[A-Z][A-Z][A-Z][A-Z][0-9][0-9][0-9]");
    Y="ABCD001"; Z=rxmatch(X,Y); put X Y Z; /*OK*/
    Y="ABCD001AAAA"; Z=rxmatch(X,Y); put X Y Z; /*KO*/
    Y="33ABCD001"; Z=rxmatch(X,Y); put X Y Z; /*KO*/
     
    run;

  3. #3
    Modérateur

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    février 2011
    Messages
    1 616
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : février 2011
    Messages : 1 616
    Points : 3 396
    Points
    3 396

    Par défaut

    Hello,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if PRXMATCH("/^[A-Z]{4}[0-9]{3}\b/", y)=0 then top=1; else top=0;
    N'oubliez pas de consulter les FAQ SAS et les cours et tutoriels SAS
    N'oubliez pas de mettre votre message à si la solution donnée résout votre problème

Discussions similaires

  1. Expressions régulières sous SAS
    Par enicnath dans le forum SAS Base
    Réponses: 4
    Dernier message: 15/12/2008, 11h32
  2. Javascript - Expression Réguliere - pb sous Firefox
    Par sheriff64 dans le forum JavaScript
    Réponses: 1
    Dernier message: 07/01/2008, 22h21
  3. [Debutant] Expression réguliere
    Par grizzz dans le forum java.util
    Réponses: 10
    Dernier message: 17/08/2007, 16h14
  4. expression réguliere en c++
    Par alambics dans le forum MFC
    Réponses: 9
    Dernier message: 10/03/2004, 20h19
  5. expression réguliere
    Par alambics dans le forum Langage SQL
    Réponses: 2
    Dernier message: 10/03/2004, 13h52

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