$re = '/(?!unwanted.*)(?:^.{1,8}).*\s*(expression2 expression3)/m';
$str = 'string
expression2 expression3 // Matched...
unwanted
expression2 expression3 // Not Matched...
sdgfkjsdöfkjsdöfkjsdf
expression2 expression3 // Matched...
unwanted sdasd
expression2 expression3 // Not Matched...
string
expression2 expression3 // Matched...
string
expression2 expression3 // Matched...
unwanted
expression2 expression3 // Not Matched...
string
expression2 expression3 // Matched...';
preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);
// Print the entire match result
var_dump($matches);
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for PHP, please visit: http://php.net/manual/en/ref.pcre.php