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 :

Expression régulière : tester existence sous-chaine en fin de chaine


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2005
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 16
    Points : 16
    Points
    16
    Par défaut Expression régulière : tester existence sous-chaine en fin de chaine
    salut,
    je galère sur une expression régulière pour tester si une chaine se termine par une sous-chaine pré-définie :
    voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    var tableauMention = [" sarl"," s.a.s", " sasu", " eurl", " s.a.e", " s.a"];
    var strDoitRenvoyerTrue = "garage Martin sarl"
    var strDoitRenvoyerFalse = "garage Martin sarlat"
    var strDoitRenvoyerFalse = "sarlat garage Martin"
     
    for (var idx=0;idx<tableauMention.length;idx++) {
    var myRegExp = new RegExp("\w*"+tableauMention[idx],"gi");
      if( myRegExp.test(str)){
    	<traitement>  
      }
    }
    en fait j'essaie d'utiliser les balises \b \$ pour spécifier le mot seul en fin de chaine, mais ca ne fonctionne pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var myRegExp = new RegExp("\w*\b"+tableauMention[idx]+"\$","gi");
    Sans doute une erreur de syntaxe ...
    si qqn peut m'aider... ca m'aiderait
    Merci

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 658
    Points
    66 658
    Billets dans le blog
    1
    Par défaut
    c'est $ pour dire qui se termine par ... non ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    new RegExp("(" + tableauMention[idx] + ")$", "gi")
    suffit normalement.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2005
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 16
    Points : 16
    Points
    16
    Par défaut
    Citation Envoyé par Bisûnûrs Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    new RegExp("(" + tableauMention[idx] + ")$", "gi")
    suffit normalement.
    Merci de vos réponses! je teste ca et je tag résolu si c'est ok!

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2005
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 16
    Points : 16
    Points
    16
    Par défaut
    ca marche impeccable. Merci !

    si je comprends bien lorsque on utilise un modèle entre parenthèses, il n'est pas nécessaire de spécifier que ce qui le précède est indifférent.
    Par contre si je ne veux insérer l'espace dans mon modèle, est-ce que ceci sera correct?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var myRegExp = new RegExp("\b(" + tableauMention[idx] +")$","gi");
    ou faut-il code ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var myRegExp = new RegExp("\w*\b(" + tableauMention[idx] +")$","gi");
    merci.

  6. #6
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    La parenthèse signifie que c'est l'expression entière qui doit terminer la chaîne, sinon il ne prend que la dernière lettre.

    Et l'espace tu l'as déjà dans ton tableau (" sarl"), donc si tu le rajoutes dans l'expression régulière ça va te chercher deux espaces.

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2005
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 16
    Points : 16
    Points
    16
    Par défaut
    ok. merci de tes réponses !

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

Discussions similaires

  1. Expression régulière: extraction de sous-chaine
    Par Icegirl dans le forum Langage
    Réponses: 3
    Dernier message: 15/06/2014, 11h07
  2. Réponses: 3
    Dernier message: 22/05/2008, 22h22
  3. [Expressions régulières] validation url sous JS
    Par Sayrus dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 12/02/2007, 08h46
  4. Réponses: 7
    Dernier message: 27/10/2005, 19h23
  5. [Regex] Expressions régulières: sous groupe
    Par debdev dans le forum Collection et Stream
    Réponses: 12
    Dernier message: 07/07/2005, 14h10

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