Votre regex: <a[^>]+?>(.*?)</a>
Cocher cette Regex avec le Regex -class et itérer à travers la collection de résultat et vous devriez obtenir votre texte intérieur.
String text = "<a href=\"link.php\">test</a>";
Regex rx = new Regex("<a[^>]+?>(.*?)</a>");
// Find matches.
MatchCollection matches = rx.Matches(text);
// Report the number of matches found.
Console.WriteLine("{0} matches found. \n", matches.Count);
// Report on each match.
foreach (Match match in matches)
{
Console.WriteLine(match.Value);
Console.WriteLine("Groups:");
foreach (var g in match.Groups)
{
Console.WriteLine(g.ToString());
}
}
Console.ReadLine();
sortie:
1 matches found.
<a href=\"link.php\">test</a>
Groups:
<a href=\"link.php\">test</a>
test
L'expression de correspondance dans ()
est stocké dans le deuxième article de la collection de Groups
match
(le premier élément est lui-même l'ensemble du jeu). Chaque expression de ()
entre dans la collection Groups
. Voir le MSDN pour plus d'informations.
Vous pouvez également remplacer l'utilisation du groupe par index au lieu de parcourir tous les résultats, par ex. Regex.Replace (yourHtml, "] +?> (. *?)", "$ 1"); retournerait le texte intérieur. –
Cool, ne savait pas! :) – Simon
Merci, cela a fonctionné. – Steven