jeje.. es cierto, me falto lo que puede haber entre
.login y el primer
{ Código PHP:
$str = '.login #borde-top a:hover{color:#000;}
.login form{background-color:#eee;}
.login #nav a { color: #777777; }';
preg_match_all('/\.login\s*[#\s\w:-]*\{[^\}]*\}/is', $str, $matches);
var_dump($matches);