Reguläre Ausdrücke

PHP gibt, je nach Konfiguration des error-reporting bei einem fehlerhaften Pattern eine PHP-Warnung aus.

\preg_match('/wrong pattern', 'test');
// → PHP Warning:  preg_match(): No ending delimiter '/' found in

Mit Hilfe der Klasse \Alvine\Types\RegularExpression wird die Warnung gekapselt und die Gültigkeit des regulären Ausdruck kann sicher geprüft werden. Im Falle eines ungültigen Ausdruckes wird eine Exception geworfen, die über try/catch behandelt werden kann.

try {
    $regex=new \Alvine\Types\RegularExpression('/[a-z]+/');
    echo (string) $regex;
    // → /[a-z]+/
} catch(\Alvine\Types\RegularExpressionException $e) {

}