Enable generating an AST which will allow to walk the tree (which is by default actually just a list) to get type and text of each found token. To do this set the output type in your grammar options:
options {
...
output = AST;
...
}
In your code you can then use the runtime to ask for subnodes in the returned tree, their text and type etc. Details depend on your target language, but the principles are the same for all languages.