Exemple #1
0
 /**
  * @param string $pattern
  * @throws UnknownExpanderException
  * @return Pattern\TypePattern
  */
 public function parse($pattern)
 {
     $AST = $this->getAST($pattern);
     $pattern = new Pattern\TypePattern((string) $AST->getType());
     foreach ($AST->getExpanders() as $expander) {
         $pattern->addExpander($this->expanderInitializer->initialize($expander));
     }
     return $pattern;
 }
 public function toRegex(TypePattern $typePattern)
 {
     switch ($typePattern->getType()) {
         case 'string':
         case 'wildcard':
         case '*':
             return "(.+)";
         case 'number':
             return "(\\-?[0-9]*[\\.|\\,]?[0-9]*)";
         case 'integer':
             return "(\\-?[0-9]*)";
         case 'double':
             return "(\\-?[0-9]*[\\.|\\,][0-9]*)";
         default:
             throw new UnknownTypeException($typePattern->getType());
     }
 }