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

JavaScript Discussion :

Expressions régulières


Sujet :

JavaScript

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2002
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 114
    Points : 59
    Points
    59
    Par défaut Expressions régulières
    Bonjour à tous,

    J'aurais besoin de connaitre l'expression régulière suivante :
    J'autorise la saisie de tous les caractères sauf : ,;.²&é"'(-è_çà)=

    Apparament [^,;.²&é"'(-è_çà)=]* ne fonctionne pas.

    Merci pour votre aide.

  2. #2
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    essaie de placer le - en fin d'expression, avant de refermer la plage;

  3. #3
    Membre du Club
    Inscrit en
    Septembre 2002
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 114
    Points : 59
    Points
    59
    Par défaut
    Ca ne marche pas mieux.
    Même plus simplement :
    Si je dis :
    - j'autorise la saisie de tous les caractères sauf A avec [^A]*
    Et bien, il faisse passer Aa, abA, aAb...

    En revanche, si je dis :
    - j'autorise la saisie de tout sauf le caractère A avec [^A], tout est OK.

    Pour info, voilà le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    exp= /[^A]*/g;   
    alert(exp.test(chaine));
    Bizarre

  4. #4
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    exp= /^[^A]*$/;   
    alert(exp.test(chaine));
    Début (^) et fin ($) de la chaine.

    Dans ton test, tu cherchais si il existait un sous-chaine de ta chaine ayant au moins 0 (sic) caractères n'étant pas A...

  5. #5
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Autre info, les parenthèses ( et ) sont des caractères spéciaux, qu'il faut donc echapper. (avec \)
    idem pour - et pour . (au moins)

  6. #6
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    oui mais dans son premier masque Goldorak2 travaillait dans une plage [], d'où le sens exclusif de ^ et les échappements facultatifs;

  7. #7
    Membre du Club
    Inscrit en
    Septembre 2002
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 114
    Points : 59
    Points
    59
    Par défaut
    OK, merci, le tout sauf A fonctionne parfaitement.
    Par contre, j'ai essayé de la même façon d'appliquer le tout sauf : ,;.²&é"'(-è_çà)= avec ceci :
    ^[^,;.²&é"'(-è_çà)=]*$

    Et là, il me refuse tout. Par exemple, les chaines ABN, zzz sont refusées.

  8. #8
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    je te l'ai pourtant dit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    exp=/^[^,;.²&é"'(è_çà)=-]*$/;

  9. #9
    Membre du Club
    Inscrit en
    Septembre 2002
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 114
    Points : 59
    Points
    59
    Par défaut
    Citation Envoyé par javatwister
    je te l'ai pourtant dit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    exp=/^[^,;.²&é"'(è_çà)=-]*$/;
    OK, et pourquoi le "-" en fin d'expression ? Pke il s'agit d'un caractère spécial ?
    Car en milieu de chaine avec un "\" devant, ça fonctionne.

  10. #10
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    parce que "x-y" définit une plage de caractères (unicode) comprise entre x et y;
    bref, entre ( (40) et è (232), tu as tous les caractères alphanumériques... et ton expression les interdisait;

  11. #11
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Citation Envoyé par denisC
    Autre info, les parenthèses ( et ) sont des caractères spéciaux, qu'il faut donc echapper. (avec \)
    idem pour - et pour . (au moins)
    Personne ne m'écoute

  12. #12
    Membre du Club
    Inscrit en
    Septembre 2002
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 114
    Points : 59
    Points
    59
    Par défaut
    Merci pour votre aide si précieuse messieurs !
    Je marque le sujet en résolu !

  13. #13
    Membre du Club
    Inscrit en
    Septembre 2002
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 114
    Points : 59
    Points
    59
    Par défaut
    Toujours moi sur le même sujet :
    Si je souhaite maintenant quelque chose du style : je ne veux pas la chaine ZIGO dans ma saisie.
    Quelle serait l'expression régulière correspondante ?

    Merci

  14. #14
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    mieux vaux faire dans l'autre sens... Teste si ta chaine contient ZIGO et tu en déduiras si elle ne contient pas ZIGO

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    !(/ZIGO/.test(chaine))

  15. #15
    Membre du Club
    Inscrit en
    Septembre 2002
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 114
    Points : 59
    Points
    59
    Par défaut
    Bien vu ! Merci Denis

  16. #16
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    et dans ce cas, on se passe allègrement d'une expression rationnelle hein! un bon vieux indexOf et c'est bon;

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

Discussions similaires

  1. [RegEx] Expression régulières : Balises <SCRIPT>
    Par Gwipi dans le forum Langage
    Réponses: 2
    Dernier message: 24/04/2006, 23h25
  2. Expression réguliére
    Par Mad_Max dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 16/09/2003, 18h17
  3. [expression régulière] mon cerveau fait des noeuds..
    Par nawac dans le forum Algorithmes et structures de données
    Réponses: 7
    Dernier message: 27/05/2003, 10h06
  4. Expressions réguliéres
    Par Tooms dans le forum Langage
    Réponses: 4
    Dernier message: 06/12/2002, 18h42
  5. Réponses: 5
    Dernier message: 11/06/2002, 15h21

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