Je travaille sur une application CLI, qui permet à l'utilisateur de spécifier un argument avec des noms de fonctions et des arguments. Il utilise en fait la même syntaxe que xgettext
, tels que:Expression régulière pour extraire les noms et les paramètres des fonctions xgettext à partir d'arguments cli
--keywords=__,dgettext:2,dcgettext:2,ngettext:1,2,dpgettext2:2c,3
J'ai besoin de trouver un regex qui le décomposer en un tableau comme celui-ci:
['__', 'dgettext:2', 'dcgettext:2', 'ngettext:1,2', 'dpgettext2:2c,3'];
Comment puis-je faire il (en Javascript, par exemple)?
Voici ce que j'ai jusqu'à présent:
(((?!([0-9\s,])).|^)[a-zA-Z_]+[A-Za-z0-9_]*[:]*([0-9]*[a-z]*,*)*)
Il est évident que cela a un problème: il est aussi la capture la virgule à chaque fois. Une idée de comment je peux le laisser tomber?
Cela capture les virgules ... J'ai besoin de capturer les mots-clés avec des arguments. Peut-être que c'est un bon point de départ cependant, mais je ne suis pas sûr de savoir comment je pourrais aller de l'avant à partir d'ici? – ragulka
@ragulka vous devez utiliser cette regex pour diviser vos chaînes, alors vous obtiendrez le contenu que vous voulez –
ah, got it! tu as raison - je n'y ai jamais pensé. J'ai ajusté votre regex pour travailler avec des noms de fonction même un caractère – ragulka