Zusammenfassend können Sie für alle, die zu dieser Frage kommen, reguläre Ausdrücke in PHP mit einer Funktion wie dieser validieren.
preg_match () gibt 1 zurück, wenn das Muster mit dem angegebenen Betreff übereinstimmt, 0, wenn dies nicht der Fall ist, oder FALSE, wenn ein Fehler aufgetreten ist. - PHP-Handbuch
function invalidRegex($regex)
{
if(preg_match($regex, null) !== false)
{
return '';
}
$errors = array(
PREG_NO_ERROR => 'Code 0 : No errors',
PREG_INTERNAL_ERROR => 'Code 1 : There was an internal PCRE error',
PREG_BACKTRACK_LIMIT_ERROR => 'Code 2 : Backtrack limit was exhausted',
PREG_RECURSION_LIMIT_ERROR => 'Code 3 : Recursion limit was exhausted',
PREG_BAD_UTF8_ERROR => 'Code 4 : The offset didn\'t correspond to the begin of a valid UTF-8 code point',
PREG_BAD_UTF8_OFFSET_ERROR => 'Code 5 : Malformed UTF-8 data',
);
return $errors[preg_last_error()];
}
Welches kann so verwendet werden.
if($error = invalidRegex('/foo//'))
{
die($error);
}