Bonjour,
Voilà donc mon problème;
J'essaie d'optimalement décoder des chaînes de connexions qui arrivent dans plusieurs formats, et j'ai considéré les REGEX pour m'aider a la tâche.
En gros, peut importe le format et les infos de la chaîne, j'ai besoin d'une info comprise entre "MOTFIXE=" et le premier ";" ou fin de ligne trouvé.
Mon problème réside dans le fait que le regex est un peu gourmand et ramasse tout ce qu'il peut. Et je n'arrive pas a faire quelque chose de correct pour ramassé seulement l'info dont j'ai besoin.
Exemple:
J'ai donc quelque chose qui ressemble à ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part "Data Source=test;User ID=login;Persist Info=true;Password=bidon"
Qui récupère donc la chaine précédé par "User ID=" qui se termine par un ; ou une fin de ligne. On comprendra que dans l'exemple, je me ramasse avec:
Code : Sélectionner tout - Visualiser dans une fenêtre à part (?<=USER ID\=).*(?=\;|$)
J'ai chercher un peu sur le web et je trouve des trucs avec des REGEX "non-greedy" avec des jeux de "?", sauf que je n'arrive pas a machiner la chose pour la faire fonctionner comme je le veux.
Code : Sélectionner tout - Visualiser dans une fenêtre à part "login;Persist Info=true;Password=bidon"
Donc je viens voir ici si quelqu'un peut me donner un petit coup de main pour compléter ce petit REGEX et finalisé mon bout de code
Merci d'avance,
Amuny,
Partager