De l’usage des expressions régulières

Je travaille en ce moment sur un outil de traduction pour Duik 15 (en gros, c’est la dernière chose en développement qu’il reste à faire dessus) ; plutôt que de faire une traduction dans Duik, j’ai décidé de développer un framework de traduction pour les ExtendScripts qui fonctionnent avec les logiciels de la suite Adobe.

Je reparlerai de ce framework un peu plus tard, mais en tout cas, pour mettre en place ce genre d’outil, j’avais besoin d’un moyen simple et fiable d’extraire toutes les chaînes de caractères du script à traduire. Ce qui m’amène à mes deux partages du jour :

  • Un site internet merveilleux pour rédiger et tester vos expressions régulières : Regexr (v2)

    Si vous développez un peu mais que vous ne connaissez pas les expressions régulières, je vous invite fortement à vous y intéresser ! C’est un outil très puissant, et polyvalent (recherche de texte, remplacement, validation…)

  • Une expression régulière bien pratique, qui matche toutes les chaines de caractères entre guillemets dans un Javascript (et donc un ExtendScript Adobe aussi), y compris les chaînes qui contiennent des guillemets échappés (\").

    Voici l’expression :
    \"([^\"\\]*(?:\\.[^\"\\]*)*?)\"
    Une explication rapide :
    \" : trouve le premier guillemet
    [^\"\\]* : prend tous les caractères suivants qui ne sont ni un backslash ni un guillemet
    (?:\\.[^\"\\]*) : un bloc, qui, quand il repère un backslash, le prend avec le caractère suivant ( \\. ), puis prend à nouveau tous les caractères sauf backslash et guillemets ( [^\"\\]* )
    * : enfin, on repète ce dernier bloc, jusqu’à trouver un guillemet ( \" )

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *