$re = '/^(?!.*?141\.8\.83\.213).*\bGET\b/m';
$str = '2016-04-20 13:30:59,818 (glastopf.glastopf) 141.8.83.213 requested GET /favicon.ico on e1f841a092e9:80
2016-04-20 13:31:01,817 (glastopf.glastopf) 141.8.83.213 requested POST /index on e1f841a092e9:80
2016-04-20 13:31:01,855 (glastopf.glastopf) 141.8.83.213 requested GET /style.css on e1f841a092e9:80
2016-04-20 13:31:01,883 (glastopf.glastopf) 141.8.83.213 requested GET /favicon.ico on e1f841a092e9:80
2016-04-20 16:39:55,713 (glastopf.glastopf) Initializing Glastopf 3.1.3-dev using "/data/glastopf" as work directory.
2016-04-20 16:39:55,797 (glastopf.glastopf) Connecting to main database with: sqlite:///db/glastopf.db
2016-04-20 16:39:55,834 (glastopf.glastopf) Glastopf started and privileges dropped.
2016-04-20 17:54:33,857 (glastopf.glastopf) 62.210.252.43 requested GET / on de96c7b4104d:80
2016-04-20 17:54:34,101 (glastopf.glastopf) 62.210.252.43 requested GET /HNAP1/ on de96c7b4104d:80
2016-04-20 22:06:20,265 (glastopf.glastopf) Initializing Glastopf 3.1.3-dev using "/data/glastopf" as work directory.
2016-04-20 22:06:20,399 (glastopf.glastopf) Connecting to main database with: sqlite:///db/glastopf.db
2016-04-20 22:06:20,446 (glastopf.glastopf) Glastopf started and privileges dropped.
2016-04-20 22:33:23,136 (glastopf.glastopf) 74.91.23.109 requested GET / on 11bbb1d43c02:80
';
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