используйте валидатор регулярных выражений, чтобы убедиться, что строка содержит определенную подстроку - PullRequest
0 голосов
/ 02 декабря 2011

Я хочу использовать валидатор регулярных выражений, чтобы убедиться, что определенная строковая переменная содержит подстроку "www.youtube.com/watch?v=", как мне это сделать?

[RegularExpression()]
[Required(ErrorMessage = "Youtube link is Required")]
[StringLength(100, ErrorMessage="Youtube link cannot exceed 50 characters")]
public string YoutubeLink { get; set; }

Ответы [ 2 ]

3 голосов
/ 02 декабря 2011
if (YoutubeLink.Contains("www.youtube.com/watch?v="))
{
   //...
}

http://msdn.microsoft.com/en-us/library/dy85x1sa.aspx

Чтобы использовать атрибут RegularExpression, необходимо указать регулярное выражение:

[RegularExpression("www\\.youtube\\.com/watch\\?v=", ErrorMessage = "Link is incorrect")]
public string YoutubeLink { get; set; } 

http://msdn.microsoft.com/en-us/library/system.componentmodel.dataannotations.regularexpressionattribute.aspx


Я думаю, что вам может понадобиться проверить начало любого типа URL.В этом случае вы должны использовать @"^(http://)?(www\.)?youtube\.com/watch\?v=" в качестве строки регулярного выражения.

Посмотрите пример того, как это будет соответствовать

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

Может быть, гораздо проще использовать что-то вроде (Python):

ytlink  = 'www.youtube.com/watch?v='
if(ytlink in yourfrase):
  doYourLogic()
else:
  smthElse()

Пожалуйста, поправьте меня, если я неправильно понял ваш вопрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...