2008-09-25 9 views
1

Comment inverser les correspondances .NET regex? Je veux extraire uniquement le texte correspondant, par ex. Je veux extraire tous les tags IMG d'un fichier HTML, mais uniquement les tags d'image.Inverser les correspondances Regex

Répondre

2

Cela n'a rien à voir avec l'inversion de l'expression rationnelle. Recherchez simplement le texte pertinent et placez-le dans un groupe.

1

Je suis avec David H .: Inversion impliquerait ne pas veulent les correspondances, mais plutôt le texte entourant les correspondances, auquel cas la méthode Regex Split() fonctionnerait. Voici ce que je veux dire:

static void Main(string[] args) 
{ 
    Regex re = new Regex(@"\sthe\s", RegexOptions.IgnoreCase); 

    string text = "this is the text that the regex will use to process the answer"; 

    MatchCollection matches = re.Matches(text); 
    foreach(Match m in matches) 
    { 
     Console.Write(m); 
     Console.Write("\t"); 
    } 

    Console.WriteLine(); 

    string[] split = re.Split(text); 
    foreach (string s in split) 
    { 
     Console.Write(s); 
     Console.Write("\t"); 
    } 
} 
Questions connexes