使用RegEx解析电影标题

时间:2014-11-07 17:29:37

标签: c# .net regex imdb

我想要提取电影标题的3个字符串,如果在一个RegularExpression中有效

<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>

适用于S.H.I.E.L.D。&#34;的代理人。和&#34; 24&#34;但不适用于&#34;飞机!&#34;。

我做错了什么?

即使可能不清楚正则表达式是否在C#程序中调用,并且我使用RegEx

1 个答案:

答案 0 :(得分:1)

RE for line-line-line =&gt;开口标签=&gt;可选" =&gt;请阅读"(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;
    }
}