Beispiel #1
0
 public function testCharRange()
 {
     $this->assertEquals('[a-z]', Charset::create()->charRange('a', 'z'));
     $this->assertEquals('[a-z0-9_\\-\\+]', Regex::create()->chars(Charset::create()->chars('a..z0..9_-+')));
 }
Beispiel #2
0
 private function checkRegex(RegularExpression $regex)
 {
     $errors = [];
     $errorHandler = set_error_handler(function ($errno, $errstr) use(&$errors) {
         $errors[] = $errstr;
     }, E_WARNING);
     if (!$regex instanceof Regex) {
         $regex = new Regex([$regex]);
     }
     $code = @preg_match($regex->getRegex(), '');
     set_error_handler($errorHandler);
     if ($errors) {
         $msg = 'Regex ' . $regex . ': ' . trim(end(explode(':', $errors[0], 3)));
         throw new Exception($msg);
     }
     return $errors;
 }