I dont know whether your curl is working or not. I did make some changes to your regex and foreach statement.
When i did this script i just used file_get_contents to test your regex. Your regex was working. (kinda) It wasnt getting all of the links. But heres what i got. Adapt as needed.
<?php
$htmlpreparse = file_get_contents('http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-002-circuits-and-electronics-spring-2007/video-lectures/');
$pattern2 = '/row"><td>(\d)?(\d)<\/td><td><a href="([^"]+)">([^<]+)<\/a>(?:(<br \/>)?<br \/><a href="([^"]+)">([^<]+))?/';
preg_match_all($pattern2, $htmlpreparse, $matchtwo, PREG_SET_ORDER);
foreach($matchtwo as $lecture){
$dl_url = 'http://ocw.mit.edu'.$lecture[3];
echo $dl_url;
//do download stuff using $dl_url as the url :)
}
?>
RegExr is what i use for my regex stuff.