Partage
  • Partager sur Facebook
  • Partager sur Twitter

REGEX

Sujet résolu
    16 juillet 2019 à 11:05:57

    Bonjour à tous,


    Je suis en train de faire un système qui parcours mes fichiers à la recherche des strings que je dois traduire.
    Vu mon niveau en Regex, je galère, même avec les outils en ligne.

    Je vous met 3 exemples avec ce que je dois capturer.

    $t('Bonjour tout le monde') // Bonjour tout le monde
    $t("J'aime les pommes") // J'aime les pommes
    $t("Je m'appelle {name}", {name:username}) // Je m'appelle {name}

    Est-il possible de capturer cela en une seule REGEX ?
    La difficulté est que j'ai parfois des doubles quotes et des simples quotes.

    Un petit coup de main, se serait sympa.

    Merci par avance.

    Trouvé

    \$t\(['"](.*)["']



    -
    Edité par JonathanBeauviche 16 juillet 2019 à 12:16:58

    • Partager sur Facebook
    • Partager sur Twitter
      16 juillet 2019 à 11:47:50

      Hmmm, tu veux remplacer un texte dans un fichier en JS ? Node ?

      Si ce que tu dois remplacer est une chaîne de caractères connue, tu n'as pas besoin de regex, un replace suffit. Sauf si tu as plusieurs fois la chaîne à traduire, dans ce cas tu dois utiliser le replace avec une regex. Ceci devrait suffire :

      /chaine/g 

      Il faut bien sûr au préalable que ton texte soit dans une variable ;)

      • Partager sur Facebook
      • Partager sur Twitter
        16 juillet 2019 à 11:56:18

        Salut finalx,

        Non je dois capturer ces Strings à coup de REGEX pour pouvoir par la suite générer mon fichier de langue avec toutes les Strings que j'aurais trouvées.

        Merci.

        • Partager sur Facebook
        • Partager sur Twitter
          16 juillet 2019 à 12:04:49

          Bonjour.

          À ce que je vois, tu as doublé ton sujet, celui-ci et dans PHP.

          • Partager sur Facebook
          • Partager sur Twitter

          Face a quelqu'un pour qui l'on n'éprouve que de l'aversion et du mépris, les yeux d'un homme deviennent extrêmement froids et cruels.

            16 juillet 2019 à 12:11:45

            Oui comme une REGEX c'est commun à tous les langages.
            • Partager sur Facebook
            • Partager sur Twitter
              16 juillet 2019 à 12:37:48

              JonathanBeauviche a écrit:

              Oui comme une REGEX c'est commun à tous les langages.

              Et donc tu vas créer ton sujet dans tous les langages de programmation qui peuvent utiliser les expressions régulières ?

              C'est totalement absurde.

              • Partager sur Facebook
              • Partager sur Twitter

              Face a quelqu'un pour qui l'on n'éprouve que de l'aversion et du mépris, les yeux d'un homme deviennent extrêmement froids et cruels.

                16 juillet 2019 à 13:00:42

                Bonjours,

                En plus d'être chiant pour ceux qui te vienne en aide, ce n'est pas malin.
                En effet, d'un langage a un autre les solutions diffère.

                Exemple, le fonctionnement des RegExp est similaire mais pas commun à tous les langages.

                Comme exemple simple, les RegExp en javascript ne sont pas comme les regex en php.

                Documentation PHP

                Les délimiteurs les plus courants sont les slashes (/), dièses (#) et les tildes (~).
                Les exemples suivants ont tous des motifs encadrés avec des délimiteurs valides.
                
                /foo bar/
                #^[^0-9]$#
                +php+
                %[a-zA-Z0-9_-]%
                Il est également possible d'utiliser les délimiteurs utilisant les crochets,
                où les crochets ouvrants et fermants sont respectivement les délimiteurs
                de début et de fin.
                (), {}, [] and <> sont tous des styles de crochets valides.

                Alors que la syntaxe littérale du javascript ne tolère, comme délimiteurs de début et de fin, que le slashes (/).

                -
                Edité par Angelisium 16 juillet 2019 à 13:02:42

                • Partager sur Facebook
                • Partager sur Twitter

                    !

                REGEX

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown