2014-11-07 2 views
-1

У меня есть 3 строки из Wich я хочу, чтобы извлечь название фильма, если Возможное в одном RegularExpressionСинтаксический Название фильма с RegEx

<title>Airplane! (1980)</title>  

<title>&#x22;24&#x22; (2001)</title>  

<title>&#x22;Agents of S.H.I.E.L.D.&#x22; The Magical Place (2014)</title> 

Мой лучший выстрел до сих пор это одна:

<title>(&#x22;)?(.*?)(&#x22;)?.*?\((\d{4})\).*?</title> 

Прекрасно работает для «Агентов ЩИТА» и «24», но не для «Самолета!».

Что я делаю неправильно?

Даже если это не может быть ясно регулярное выражение называет в C# программы, и я использую RegEx

+2

Самолет закрывающий тег отсутствует '/' –

+0

Я не уверен, что вы имеете в виду @alphabravo –

+0

он означает, что вы образец самолета название тег должен заканчиваться '' ваш является '' < title> его не твоя регулярное выражение, его твой выбор le data – hometoast

ответ

1

RE для запуска производственной линии => открывающего тега => необязательно " => читать до " или (nnnn)

titles = System.Net.WebUtility.HtmlDecode(titles); 

foreach (Match match in Regex.Matches(titles, 
     @"^\s*<title>\s*\""*(.*?)(\""|\(\d{4}\))", RegexOptions.Multiline | RegexOptions.IgnoreCase)) 
{ 
    if (match.Success) 
    { 
     string name = match.Groups[1].Value; 
    } 
} 
+0

Он просто работает 100% –

Смежные вопросы