$re = '/[A-Z]+(?:[[:punct:]][A-Z]+)*(?=\s+application)/';
$str = 'Conversion routine for the NYC.GENX application. - should show \'NYC.GENX\'
Conversion routine for the CAP-GENY application. - should show \'CAP-GENY\'
Conversion routine for the NNUAT_CHECK application. - should show \'NNUAT_CHECK\'
Created on 1/1/14 11:40 AM for RUN_SCRIPT application. - should show \'NNUAT_CHECK\'
Event created on 2/2/14 12:29 PM for the STOP_SERVER application. - should show \'STOP_SERVER\'';
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