adds lexer and passing tests.
updates lexer to wrap regular expressions so they match exact input.