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 regulière remplacement de toutes les occurences


Sujet :

JavaScript

  1. #21
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Ben je te crois mais les deux marchent chez moi quand meme ^^

    Donc pour etre juste je vais utilisé /. mais . marche pareil

  2. #22
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    . = n'importe quel caractère ...
    \. le point ....
    A l'intérieur des crochets c'est différent... Tu peux tester, les 2 fonctionnent...

    Ceci dit, je n'arrive pas à traiter le caractère \
    J'ai essayé new RegExp("[\]+", "g") ou new RegExp("[\\]+", "g"); mais rien ne passe... une idée ?

  3. #23
    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 641
    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 641
    Points : 66 666
    Points
    66 666
    Billets dans le blog
    1
    Par défaut
    En effet c'est un curiosité pour moi ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    var lchaine="12.33.22.25"
    var reg1=/\./g
    var reg2=new RegExp(".","g"); // var reg2=new RegExp("[.]","g"); <=fonctionne entre crochets ... 
    rchaine1 = lchaine.replace(reg1,"-");
    alert (rchaine1)
    rchaine2 = lchaine.replace(reg2,"-");
    alert(rchaine2)

  4. #24
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Tiens la discussion a été déplacé depuis le forum Java... Je ne comprenais plus de quoi on parlais

    Citation Envoyé par OButterlin Voir le message
    Ceci dit, je n'arrive pas à traiter le caractère \
    J'ai essayé new RegExp("[\]+", "g") ou new RegExp("[\\]+", "g"); mais rien ne passe... une idée ?
    Le caractère \ est utilisé comme caractères d'échappement à deux niveaux :
    • Au niveau du langage pour certain caractères spéciaux comme \t, \n ou encore \" et \'.
      Mais si le caractère suivant ne correspond pas à une séquence valide, alors le \ est ignoré, donc \] est strictement identique à ] (note : en Java on aurait eu une erreur de compilation).
    • Au niveau des expressions régulières pour protéger certains caractères qui devrait normalement être interprété.


    Et il faut donc à chaque fois doubler le caractère \ si on veut représenter le caractère en lui-même, ce qui fait qu'en le couplant le langage avec des regexp on doit parfois le quadrupler :

    • new RegExp("[\]+", "g") []+ rien !
    • new RegExp("[\\]+", "g") [\]+ expression invalide (le crochet de fermeture est "protégé")
    • new RegExp("[\\\\]+", "g") [\\]+ recherche du caractère \



    a++

  5. #25
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par adiGuba Voir le message
    Tiens la discussion a été déplacé depuis le forum Java... Je ne comprenais plus de quoi on parlais
    Oui, quand j'ai vu l'exemple avec var ..., je l'ai déplacé dans le bon forum
    Citation Envoyé par adiGuba Voir le message
    Le caractère \ est utilisé comme caractères d'échappement à deux niveaux :
    • Au niveau du langage pour certain caractères spéciaux comme \t, \n ou encore \" et \'.
      Mais si le caractère suivant ne correspond pas à une séquence valide, alors le \ est ignoré, donc \] est strictement identique à ] (note : en Java on aurait eu une erreur de compilation).
    • Au niveau des expressions régulières pour protéger certains caractères qui devrait normalement être interprété.

    Et il faut donc à chaque fois doubler le caractère \ si on veut représenter le caractère en lui-même, ce qui fait qu'en le couplant le langage avec des regexp on doit parfois le quadrupler :
    • new RegExp("[\]+", "g") []+ rien !
    • new RegExp("[\\]+", "g") [\]+ expression invalide (le crochet de fermeture est "protégé")
    • new RegExp("[\\\\]+", "g") [\\]+ recherche du caractère \

    a++
    Merci, j'étais arrivé au même résultat en testant avec un utilitaire pour RegExp... l'avantage avec toi, c'est qu'on à les explications en plus

  6. #26
    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 641
    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 641
    Points : 66 666
    Points
    66 666
    Billets dans le blog
    1
    Par défaut
    si vous voulez un utilitaire pour regExp ...

    pernez plutot celui ci :

    http://cui.unige.ch/~deriazm/apps/regexsr/

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. [DEBUTANT] Remplacer toutes les occurences de parenthèses
    Par rambc dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 02/12/2010, 07h37
  2. Retrouver toutes les occurences dans un memo
    Par johweb dans le forum Delphi
    Réponses: 2
    Dernier message: 09/06/2006, 14h44
  3. connaitre toutes les occurences d'une chaine
    Par semaj_james dans le forum C
    Réponses: 2
    Dernier message: 11/12/2005, 14h46
  4. Borland C++ 5.5 remplacer toutes les occurences
    Par cdelamarre dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 30/11/2005, 12h23
  5. replace() qui s'applique sur toutes les occurences
    Par Oluha dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 02/03/2005, 11h27

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