E' un incubo scrivere su sto forum mangiabackslash...

Comunque:

codice:
$x = array(
    '@import url("x.css"); ciao mondo',
    '@import url(\\'x.css\\')',
    '@import url "x.css" ',
    '@import url \\'x.css\\'',
    '@import "x.css" ',
    '@import \\'x.css\\'',
);

foreach ($x as $i) {
    $pattern = '
        /          # inizio pattern
        @import    # stringa @import
        \s*        # eventuali spazi
        (?:url)?   # stringa url opzionale
        \s*        # eventuali spazi
        \(?        # aperta parentesi opzionale
        [\\'"]      # apice o virgolette
        (.*?)      # cattura tutto fin al prossimo...
        [\\'"]      # ...apice o virgolette
        \)?        # chiusa parentesi tonda opzionale
        /x';       # fine pattern
    preg_match($pattern, $i, $match);
    print_r($match);
}