[RegularExpression(), ErrorMessage = "Youtube link must start with www.youtube.com/watch?v=")]
我需要检查链接是否不以:http://www.youtube.com/watch?v=
答案 0 :(得分:3)
我刚刚创建了一个MVC项目并测试了以下内容:
[RegularExpression("^((?!http://www.youtube.com/watch\\?v=).)*$")]
这似乎有效。
可能会找到更多信息here。
如果您需要检查文本是否以youtube链接开头(而不是未开始),那么您可以使用:
[RegularExpression("http://www.youtube.com/watch\\?v=.*")]
答案 1 :(得分:0)
试试这段代码,Alan
using System;
using System.Text.RegularExpressions;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string txt="http://www.youtube.com/watch?v=";
string re1="(http:\\/\\/www\\.youtube\\.com\\/watch\\?v=)";
string re2="(www\\.youtube\\.com)";
Regex r = new Regex(re1+re2,RegexOptions.IgnoreCase|RegexOptions.Singleline);
Match m = r.Match(txt);
if (m.Success)
{
String httpurl1=m.Groups[1].ToString();
String file1=m.Groups[2].ToString();
Console.Write("("+httpurl1.ToString()+")"+"("+file1.ToString()+")"+"\n");
}
Console.ReadLine();
}
}
}
答案 2 :(得分:0)
如果您只想检查该特定字符串,则不需要正则表达式。
只需执行int position = string.IndexOf("http://www.youtube.com/watch?v=");
之类的操作并检查位置是否为0
编辑:
如果你真的需要一个正则表达式,你可以试试这个:/^(?!^http:\/\/www\.youtube\.com/watch\?v=).*/