Change the Regex to the following and use the Groups property
public void ScrapeURLs(String input) {
Regex regex = new Regex("file=(http://[^/]+/.*flv)");
foreach(Match m in regex.Matches(input)) {
//The URL should now be in the Groups property
//Note that Groups is a zero based index but Groups[0] will give the complete match
String url = m.Groups[1].Value;
//Do something with the URL...
}
}
Basically the Regular Expression syntax in .Net uses brackets () for grouping, each bracketed expression in the pattern will be accessible through the Groups property. Groups are numbered from left to right from zero BUT the entire match is always considered as a Group and will always have index 0 in the Groups collection
Edit
One thing to note with this pattern is that if the input contains multiple flash URLs then the greedy nature of Regular Expressions will cause you to get a weird match which incorporates all the text from the start of the first URL to the end of the last URL.