3
虽然这个问题是关于JFlex的,但它也可能适用于其他扫描生成器,例如lex,flex。如何在JFlex上使用正则表达式捕获组?
如果我有一些规则,我怎么能在规则的一部分创建一个捕获组,并使用捕获组的结果作为参数传递给顺利通过规则匹配调用的代码?
例如,假设我有一个简单的规则来匹配SGML标签:
"<"[a-zA-Z]+">" {return new Token(Type.OPEN_TAG);}
我怎么能捕捉到人物内心的部分([A-ZA-Z] +),并把它作为一个参数在我的令牌构造函数?
编辑:我知道我可以简单地使用yytext()来获取整个匹配的值,然后在代码中的其他地方分开部分,但似乎它会使事情比他们需要的更复杂。