используйте регулярное выражение, чтобы проверить, не начинается ли строка / URL с указанной строки - PullRequest
0 голосов
/ 02 декабря 2011
 [RegularExpression(), ErrorMessage = "Youtube link must start with www.youtube.com/watch?v=")]

Мне нужно проверить, не начинается ли ссылка с: http://www.youtube.com/watch?v=

Ответы [ 3 ]

3 голосов
/ 02 декабря 2011

Я только что создал проект MVC и протестировал следующее:

[RegularExpression("^((?!http://www.youtube.com/watch\\?v=).)*$")]

Это похоже на работу.

Более подробную информацию можно найти здесь .

Если вам нужно убедиться, что текст начинается со ссылки на YouTube (а не начинается), вы можете использовать:

[RegularExpression("http://www.youtube.com/watch\\?v=.*")]
0 голосов
/ 02 декабря 2011

Если вы хотите проверить только эту строку, регулярное выражение не требуется. просто сделайте что-то вроде int position = string.IndexOf("http://www.youtube.com/watch?v="); и проверьте, если позиция 0

EDIT:
Если вам действительно нужно регулярное выражение, вы можете попробовать это: /^(?!^http:\/\/www\.youtube\.com/watch\?v=).*/

0 голосов
/ 02 декабря 2011

Попробуйте этот код, Алан

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();
    }
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...