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 :
Avec un mode Ungreedy(U), l'array de résultat contient 3 entrées :
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>
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
Partager