Bonsoir à tous,

Il existe en php un mode "Ungreedy" quant l'on fait des expressions régulières.

Celui-ci permet de créer une capture à la première occurrence trouvée.

ex : - imaginons cette regex affreuse : "<li>(.+)</li>" appliquée a cette portion html :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
<ul>
<li>pif</li>
<li>paf</li>
<li>pouf</li>
</ul>
Avec un mode Ungreedy(U), l'array de résultat contient 3 entrées :
res[0] = pif
res[1] = paf
res[2] = pouf

En c# je ne trouve pas d'équivalence à ce mode (U) et mon matchcollection ne contient qu'un seul résultat :

pif</li><li>paf</li><li>pouf

L'exemple que je donne est bien entendu extremement balot, c'est juste pour illustrer mon propos.

Existe t-il une équivalence a ce mode Ungreedy en c# ou faut-il boucler et boucler et re reboucler sur nos Match pour arriver au même résultat ?
Je n'ai rien trouvé a ce propos sur msdn, aucune des RegexOption ne couvre cet aspect.

Si il y'a une ame charitable pour me répondre, merci d'avance

Bonne soirée/nuit