我想从 youtube 视频链接中提取 View 。
string youtubelink = richTextBox1.Text;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(youtubelink);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream());
string data = reader.ReadToEnd();
Regex views = new Regex("watch-view-count\">" + @"\d+\s\d+");
Match v = views.Match(data);
richTextBox1.Text = Regex.Replace(v.ToString(),"watch-view-count\">", "");
但我的问题是 "@"\d+\s\d+");"例如,当视频有更多的观看次数时,它们不会显示,因为此代码仅显示 xxx xxx 观看次数(相同的方式相反,如果我再添加一行并且视频的观看次数较少,它们也不会显示) 正则表达式有什么技巧可以防止这种情况发生吗?谢谢。
最佳答案
怎么样
(\d+\s)*\d+
在你的代码中它会是
Regex views = new Regex("watch-view-count\">" + @"(\d+\s)*\d+");
将表达式 \d+\s
封装到方括号中可以指定该组在一行中出现的次数。可以肯定的是,视频至少有 \d+
次观看。
关于c# - 字符串后的正则表达式行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30694479/