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 :

Signification de la Regex (?:x)


Sujet :

JavaScript

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    166
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2017
    Messages : 166
    Points : 61
    Points
    61
    Par défaut Signification de la Regex (?:x)
    Bonjour,

    Je ne comprends pas cette partie de Regex: (?:
    J'ai lu l'explication de MDN, mais elle prends comme exemple /(?:zoo){1,2}/. Dans ce code il n'y à pas de {}.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    function spinalCase(str) {
      // Replace low-upper case to low-space-uppercase
      str = str.replace(/([a-z])([A-Z])/g, "$1 $2");
      // Split on whitespace and underscores and join with dash
      return str
        .toLowerCase()
        .split(/(?:_| )+/)
        .join("-");
    }
     
    // test here
    spinalCase("This Is Spinal Tap");

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    regardez les explications de cette expression régulière sur le site regex101 :
    https://regex101.com/r/Uymd9m/1

  3. #3
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 858
    Points : 6 556
    Points
    6 556
    Par défaut
    La question que tu poses est très basique en matière de regex, donc la meilleur chose que tu as à faire c'est de te diriger vers un tutoriel sur le sujet (je ne pense pas que MDN s'étende trop dessus), il y en a plusieurs sur developpez.net. La référence ultime restant le livre Mastering Regular Expressions de J. E. F. Friedl (il en existe une ancienne édition libre de droits, la 2e je crois).

    regex101 est en effet un outil très pratique pour faire ensuite tes propres tests.

    Personnellement je réécrirais la fonction de cette manière:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function spinalCase(str) {
        return str
            .replace(/([a-z])([A-Z])/g, '$1-$2')
            .replace(/[_ ]+/g, '-');
    }
    voire avec une arrow function:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    const spinalCase = (str) => str.replace(/([a-z])([A-Z])/g, '$1-$2').replace(/[_ ]+/g, '-');
    Brachygobius xanthozonus
    Ctenobrycon Gymnocorymbus

Discussions similaires

  1. Aide sur signification de Regex
    Par mourbare dans le forum Langage
    Réponses: 3
    Dernier message: 22/02/2008, 10h19
  2. [regex][string] replaceAll bogué ?
    Par 7eme dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 13/11/2003, 16h36
  3. Recherche la signification d'expressions en C
    Par sbadecoder dans le forum C
    Réponses: 16
    Dernier message: 20/08/2003, 07h35
  4. Cherche regex...
    Par laurent_h dans le forum C
    Réponses: 4
    Dernier message: 31/03/2003, 11h24
  5. i386, x86 signification ?
    Par Thcan dans le forum Assembleur
    Réponses: 7
    Dernier message: 04/01/2003, 21h36

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