我正在尝试从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问题。
答案 0 :(得分:1)
尝试m.Groups[1].Value
(documentation 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;