我有类似的东西:
{
Regex regex = new Regex(@"expression here");
foreach (Match match in regex.Matches(textBoxResponse.Text))
{
MessageBox.Show(match.Value.ToString());
}
}
我应该使用什么表达式来获取此响应中的EXAMPLE?
<a href="spieler.php?uid=xxx">EXAMPLE</a>
答案 0 :(得分:3)
请考虑使用htmlagilitypack。
编辑:
根据Casimir et Hippolyte的建议更新了示例 可以在此处阅读XPATH的快速介绍:http://zvon.org/xxl/XPathTutorial/General/examples.html
以下代码查找页面上的所有超链接。参考:http://htmlagilitypack.codeplex.com/wikipage?title=Examples
var doc = new HtmlDocument(); //HtmlDocument class is part of the htmlagilitypack
doc.LoadHtml(@"<html><body><a href='spieler.php?uid=xxx'>EXAMPLE</a></body></html>");
foreach(var linkText in doc.DocumentNode.SelectNodes("//a/text()"))
{
Console.WriteLine(linkText.InnerText);
}
答案 1 :(得分:1)
这应该有用,它会查看&gt;之间的文字。和&lt; / a&gt;
(?<=>)(.*?)(?=</a>)
但正如评论中所述,我不建议用正则表达式解析html
答案 2 :(得分:1)
考虑以下Regex ......
(?<=\>).*?(?=<)
祝你好运!
答案 3 :(得分:0)
var html = @"<a href=""spieler.php?uid=xxx"">EXAMPLE</a>";
var matches = Regex.Matches(html, @"<a\ href=""spieler\.php\?uid=[^""]*"">([^(</a>)]*)</a>");
foreach (Match match in matches)
{
Console.WriteLine(match.Groups[1].Value);
}
希望有帮助:) 或者如果你想使用Linq。
var html = @"<a href=""spieler.php?uid=xxx"">EXAMPLE</a>";
var matches = Regex.Matches(html, @"<a\ href=""spieler\.php\?uid=[^""]*"">([^(</a>)]*)</a>");
var examples = (from Match match in matches select match.Groups[1].Value).ToList();