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,






Répondre avec citation



Partager