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 :

RegExp et caractère réservé [RegExp]


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Avatar de Luke spywoker
    Homme Profil pro
    Etudiant informatique autodidacte
    Inscrit en
    Juin 2010
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant informatique autodidacte

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 077
    Par défaut RegExp et caractère réservé
    Salut les javascripteurs,
    J'ai passer une bonne partie de la nuit a esayer de récupérer des données dans un tableau avec une RegExp:
    Les données sont de la forme [LINK href=http://mon.exemple.d'url] et je cherche a récupérer href=http://mon.exemple.d'url] avec le ']', sachant que l'url peut etre n'importe laquelle et que les résultat doivent etre stocker dans un tableau donc il faut utiliser la méthode de RegExp .match() sur l'objet contenant les données.
    J'ai essayer:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    regex=new RegExp('href=http?://.*]', 'gi')
    Je suppose que le caractère ']' est compris dans l'expression '.*' et donc le résultat est fausser.
    S'il vous plait aider moi j'ai essayer je ne sais combien de variante je n'y arrive pas.
    Merci pour vos réponses.

  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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    [^\]]* pour matcher les caractères différents de ]
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    chaine="[LINK href=http://mon.exemple.d'url]"
    alert(chaine.match(/href=[^\]]*/))
    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
    Membre expérimenté
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 128
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    [^\]]* pour matcher les caractères différents de ]
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    chaine="[LINK href=http://mon.exemple.d'url]"
    alert(chaine.match(/href=[^\]]*/))
    Il te manque la fermeture de crochet "]" dans ton match.

    Sinon solution alternative que je trouve un poil plus simple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    chaine="[LINK href=http://mon.exemple.d'url]"
    alert(chaine.match(/href.*?]/))

  4. #4
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    il ne me manque rien dans mon match !!!
    par contre toi tu matche un crochet de trop !!

    si tu veux une solution plus simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert(chaine.match(/(href.*)]/)[1])
    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 !

  5. #5
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 684
    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 684
    Par défaut
    comme ça j'aurais dit:


  6. #6
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 684
    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 684
    Par défaut
    damned, on peut plus s'absenter 2 minutes

  7. #7
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    Oui JT on peut se passer d'échapper le caractère ] car il est compris dans une classe (entre [ ] ) ceci étant cela ne coute rien de l'échapper et rend le code plus lisible, pour autant que l'on puisse parler le lisibilité avec les regexp
    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 !

  8. #8
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par SpaceFrog
    Oui JT on peut se passer d'échapper le caractère ] car il est compris dans une classe (entre [ ] )
    Bah... pas vraiment non
    Sinon, il va être considéré comme la fermeture de la classe...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  9. #9
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    Tu crois Beef ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    chaine="[LINK href=http://mon.exemple.d'url]"
    alert(chaine.match(/href=[^]]*/))
    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 !

  10. #10
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 684
    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 684
    Par défaut
    il faut échapper sous Fox mais pas IE (va savoir pourquoi...);
    bref, c'était un oubli de ma part

  11. #11
    Membre éprouvé
    Avatar de Luke spywoker
    Homme Profil pro
    Etudiant informatique autodidacte
    Inscrit en
    Juin 2010
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant informatique autodidacte

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 077
    Par défaut
    Merci pour votre aide j'ai déja avancer:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    <!DOCTYPE html>
    <html lang='fr'>
    <head>
    <meta charset='utf-8'>
     
    <script>
    function test() {
    var reg_s=new RegExp('href=http?://[^\]]*', 'gi')
    alert(document.getElementById('test').value.match(reg_s))
    }
    </script>
    </head>
    <body>
    <textarea id='test'>[LINK href=http://test.com][/LINK][LINK href=http://dest.fr][/LINK]</textarea>
    <a href='javascript:test()'>test regex</a>
    </body>
    </html>
    me renvoie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    'href=http://t,href=http://d'
    Donc il manque la fin de l'url et comme les regex ne sont vraiment pas ma tasse de thé surtout en javascript si quelqu'un pourrait avoir la gentillesse de finir le travaille afin de récupérer dans un tableau, toutes les URL complètes (j'ai essayer plusieurs quantificateur sans succès) et après les déboirs de cette nuit je n'en peut plus...
    Merci pour vos réponses.

  12. #12
    Membre expérimenté
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 128
    Par défaut
    Citation Envoyé par Luke spywoker Voir le message
    je cherche a récupérer href=http://mon.exemple.d'url] avec le ']'

  13. #13
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    Au temps pour moi

    Y'en a qui ont de ses besoins curieux qui dépassent ma logique ...

    du coup

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert(chaine.match(/href.*]/))
    suffit

    pas besoin du ?
    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 !

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

Discussions similaires

  1. Javascript, regexp et caractère €
    Par senacle dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 29/06/2018, 16h48
  2. formulaire et caractères réservés
    Par socaw dans le forum Web
    Réponses: 6
    Dernier message: 21/04/2010, 14h42
  3. Liste de caractères réservés
    Par XavierBR dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 16/07/2009, 16h14
  4. RegExp des caractères alphanumériques limités
    Par witch dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 27/12/2007, 00h09
  5. [Fortran 90 -> LaTeX] Ecriture de caractères réservés
    Par yogitetradim dans le forum Fortran
    Réponses: 5
    Dernier message: 17/07/2007, 14h51

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