getNumberPattern example

class NumberHandler implements HandlerInterface
{
    private TokenizerPatterns $patterns;

    public function __construct(TokenizerPatterns $patterns)
    {
        $this->patterns = $patterns;
    }

    public function handle(Reader $reader, TokenStream $stream): bool
    {
        $match = $reader->findPattern($this->patterns->getNumberPattern());

        if (!$match) {
            return false;
        }

        $stream->push(new Token(Token::TYPE_NUMBER, $match[0]$reader->getPosition()));
        $reader->moveForward(\strlen($match[0]));

        return true;
    }
}
Home | Imprint | This part of the site doesn't use cookies.