Bonjours à tous,

Voilà j'expose mon problème, j'ai une chaine de caractère dans laquelle je veux chercher des valeurs selon la "clé"/valeur qu'il y a avant.

Ma variable est de ce type là:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
C+31TYER'2007PRIV'WM/MediaClassPrimaryID¼}#ãâK†¡H¤*(DPRIV)WM/M
Je tiens à préciser que c'est une version raccourcie de ma chaine

Je voudrais donc sélectionner la valeur qui suit TYER mais m'arrêter à la première valeur PRIV rencontrée donc obtenir dans mon exemple:
Je sais aussi que devant chacune de mes valeurs il y a des caractères à ignorer, dans mon cas 1 caractère ' mais ce nombre peux varier.

J'ai donc mon expression qui suit:
avec donc le code php:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
preg_match( "/(TYER)(.){1}(.*)(PRIV)/", $content, $matches );
Pour ceux qui auraient compris, je veux donc récupérer seulement la valeur en $matches[3] qui devrais être égal à 2007.

Or $matches[3] est égal à
Code : Sélectionner tout - Visualiser dans une fenêtre à part
2007PRIV'WM/MediaClassPrimaryID¼}`Ñ#ãâK†¡H¤*(D
Donc mon problème est que la regex récupère le dernier PRIV qu'il trouve or j'aimerais qu'il prenne ma première.

Si quelqu'un savait comment modifier ma regex pour récupérer seulement la valeur 2007 ?

Je précise que cette valeur je ne sais pas ce qu'elle contient et de quelle taille elle est. Tout ce que je sais c'est qu'elle se termine dès que je rencontre mon PRIV.

Merci d'avance et j'espère m'être fait comprendre et n'avoir fait peur à personne