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
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
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.
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
!
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.
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.
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.
!