2010-10-03 6 views
0

J'ai écrit ... regexC# Regex: Obtenir toutes les correspondances w/nom?

internal static readonly Regex _parseSelector = new Regex(@" 
     (?<tag>"[email protected]")? 
     (?:\.(?<class>"+_validName+ @"))* 
     (?:\#(?<id>"+_validName+ @"))* 
     (?<attr>\[ 
     \])* 
     (?:\:(?<pseudo>.+?))* 
    ", RegexOptions.IgnorePatternWhitespace); 

Maintenant, je veux tous les bits « classe » ...

var m = _parseSelector.Match("tag.class1.class2#id[]:pseudo"); 

Comment faire pour récupérer la liste class1, class2 de l'objet recherché ?

+0

@Oded: Non ... cela ressemble-t-il au HTML? Vous sautez un peu le fusil;) – mpen

+0

assez juste ... commentaire annulé. – Oded

Répondre

2
foreach (var c in m.Groups["class"].Captures) 
{ 
    Console.WriteLine(c); 
} 

Hourra pour deviner.

+3

@ Callum: Hahaha ... J'aime votre commentaire edit: D – mpen

1
m.Groups["class"] 
+0

Ouais ... voyons, cette partie que je connaissais, mais '.Value' ne retourne que la dernière partie apparente. C'est ".Captures" que je cherchais. – mpen

Questions connexes