J'utilise C# RegEx pour rechercher des chaînes entre guillemets dans un texte de script. J'utilise cette expression: new Regex("\"((?:\\\\.|[^\\\\\"]*)*)\"")
, "((?:\\.|[^\\\"]*)*)"
sens par exemple de ne pas prendre soin de \"
casRegEx: chaînes (doubles) entre guillemets
Cela rend RegEx.Matches
fonctionne et arrête jamais pour certaines chaînes d'entrée.
Ne vous occupez pas de ce problème avec .Net RegEx, je sais que mon expression n'est pas la meilleure.
Avant, j'ai utilisé l'expression (?<!\\)".*?(?<!\\)"
mais ce n'est pas suffisant pour la chaîne d'entrée "\\"
.
L'objectif est de détecter les chaînes de caractères avant d'analyser les codes de script.
Quelqu'un suggère une bonne expression?
Il doit travailler pour:
echo("Hello" + yourName + ", here is \"MyTest\"");
path = "\\" + file;
echo("path ends with \\");
(attention, \ sont édités étrangement avec ce site)
Merci beaucoup.
Pouvez-vous mettre la regex dans sa propre ligne et la précéder de quatre espaces? Elseway, Personne ne peut comprendre ce que vous essayez de nous dire. – fuz