Bien que cette question porte sur JFlex, elle s'applique probablement à d'autres générateurs de scanner tels que Lex, Flex. Si j'ai une règle, comment puis-je créer un groupe de capture dans une partie de cette règle et utiliser le résultat de ce groupe capturé comme argument du code qui est appelé lors de la correspondance de la règle?Comment utiliser les groupes de capture d'expressions régulières avec JFlex?
Par exemple, disons que j'avais une règle simple pour correspondre à une balise SGML:
"<"[a-zA-Z]+">" {return new Token(Type.OPEN_TAG);}
Comment pourrais-je capturer la partie de caractère intérieur ([a-zA-Z] +) et de l'utiliser comme argument dans mon constructeur Token? Editer: Je suis conscient que je pourrais simplement utiliser yytext() pour obtenir toute la valeur correspondante et ensuite séparer les parties ailleurs dans le code, mais cela semble rendre les choses plus compliquées qu'elles ne devraient l'être.