Regex exception in ASP.NET
<p>I have a problem using Regex, in ASP.NET website. I wanna get the counts of two regexes from a website source, using a webclient to download the source.</p>

<p>I wanna get the counts of a regex, searching on tmz.com website.</p>

<p>Basicly I have a text file with keywords on every line. I put 2 artists, and it should go to each line, make a regex pattern like artist1+regex+keyword+regex+artist2. The ideea is to see how many counts (searches are found) with my keywords and the artists.</p>

<p>Here is the source code of my function.</p>

<pre><code> int counts = 0;
    string line = "";
    StreamReader read = new StreamReader(@"C:\words.txt");
    WebClient web = new WebClient();
    string content = web.DownloadString("http://www.tmz.com/search/news/" + artist1 + " " + artist2);
    while ((line = read.ReadLine()) != null)
    {

            string pattern = artist1 + "[a-zA-Z0-9\\s]{1,10}" + line + "[a-zA-Z0-9\\s]{1,10}" + artist2;
            MatchCollection matches = Regex.Matches(pattern, content);
            counts += matches.Count;
            string pattern2 = artist2 + "[a-zA-Z0-9\\s]{1,10}" + line + "[a-zA-Z0-9\\s]{1,10}" + artist1;
            MatchCollection matches1 = Regex.Matches(pattern2, content);
            counts += matches1.Count;
    }
    read.Close();
    return counts;
</code></pre>

<p>But I get this error:
<strong>Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.</strong></p>

<p>And the red line that I got (line with error is this one):
<strong>Line 54:                 MatchCollection matches = Regex.Matches(pattern, content);</strong></p>

<p>Exact exception: </p>

<pre><code>System.ArgumentException was unhandled by user code
  Message=parsing "&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
&lt;html xmlns="http://www.w3.org/1999/xhtml" xmlns:meebo="http://www.meebo.com/" xmlns:og="http://ogp.me/ns#" xmlns:fb="http://ogp.me/ns/fb#"&gt;
&lt;head&gt;
        &lt;script type="text/javascript"&gt;var _sf_startpt=(new Date()).getTime()&lt;/script&gt;
    &lt;title&gt;Search bowwow tyra - news - Page 1 | TMZ.com &lt;/title&gt;
    &lt;meta name="robots" content="all"/&gt;
    &lt;meta name="description" content="Celebrity Gossip and Entertainment News, Covering Celebrity News and Hollywood Rumors. Get All The Latest Gossip at TMZ - Thirty Mile Zone" /&gt;
    &lt;meta name="generator" content="Crowd Fusion 2.0-enterprise" /&gt;
    &lt;!-- Site Verification --&gt;
    &lt;meta name="google-site-verification" content="UUmtbUBf3djgPpCeLefe_PbFsOc6JGxfXmHzpjFLAEQ" /&gt;
    &lt;meta name="verify-v1" content="Wtpd0N6FufoE2XqopQJoTjWV6Co/Mny9BTaswPJbPPA=" /&gt;
    &lt;meta name="msvalidate.01" content="AFEB17971BCF30779AEA662782EF26F4" /&gt;
    &lt;meta name="y_..." - Too many )'s.
  Source=System
  StackTrace:
       at System.Text.RegularExpressions.RegexParser.ScanRegex()
       at System.Text.RegularExpressions.RegexParser.Parse(String re, RegexOptions op)
       at System.Text.RegularExpressions.Regex..ctor(String pattern, RegexOptions options, Boolean useCache)
       at System.Text.RegularExpressions.Regex.Matches(String input, String pattern)
       at _Default.tmz(String artist1, String artist2) in c:\Users\icebox19\Documents\Visual Studio 2010\WebSites\WebSite3\Default.aspx.cs:line 52
       at _Default.Button1_Click(Object sender, EventArgs e) in c:\Users\icebox19\Documents\Visual Studio 2010\WebSites\WebSite3\Default.aspx.cs:line 89
       at System.Web.UI.WebControls.Button.OnClick(EventArgs e)
       at System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument)
       at System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
       at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
       at System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
       at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
  InnerException:
</code></pre>

<p><strong>PS: I use ASP.NET website, not c# standalone application, this is a webpage.</strong></p>
