在html标记之间提取字符串

时间:2017-09-13 17:11:56

标签: c# html regex

我正在尝试从html标签中提取字符串

<title>what i want</title>

我知道还有其他类似的问题或甚至相同的问题得到解答,但这些问题的答案似乎对我不起作用。我目前的代码是

String html = wc.DownloadString("URL");
Match m = Regex.Match(html, "<title>(.*)</title>", RegexOptions.Singleline); 
MessageBox(m.Value);

此输出

<title>what i want</title>

what i want

请注意,我使用了来自不同答案的其他regural表达式并获得了相同的结果 我也不熟悉regural表达,所以这可能是一个noob问题。

2 个答案:

答案 0 :(得分:1)

尝试m.Groups[1].Valuedocumentation for Groups)或m.Result("$1")documentation for Result);要么应该工作。

m返回的对象Regex.Match是一个对象,其中包含有关匹配内容的各种信息。这包括匹配的整个字符串,在这种情况下包括标题标签本身,以及由每组括号匹配的字符串部分。 m.Value给出整个字符串; m.Groups[1].Value给出与第一组匹配的部分,m.Groups[2].Value给出与第二组匹配的部分,等等。这必须在正则表达式之外完成,因为程序可能需要多个组;例如,如果您匹配一天中的某个时段,例如(\d+):(\d+),那么您可能希望将小时数(m.Groups[1].Value)分配给一个变量,将分钟数(m.Groups[2].Value)分配给不同的变量。

答案 1 :(得分:0)

var value = m.Groups[1].Value;