3
雖然這個問題是關於JFlex的,但它也可能適用於其他掃描生成器,例如lex,flex。如何在JFlex上使用正則表達式捕獲組?
如果我有一些規則,我怎麼能在規則的一部分創建一個捕獲組,並使用捕獲組的結果作爲參數傳遞給順利通過規則匹配調用的代碼?
例如,假設我有一個簡單的規則來匹配SGML標籤:
"<"[a-zA-Z]+">" {return new Token(Type.OPEN_TAG);}
我怎麼能捕捉到人物內心的部分([A-ZA-Z] +),並把它作爲一個參數在我的令牌構造函數?
編輯:我知道我可以簡單地使用yytext()來獲取整個匹配的值,然後在代碼中的其他地方分開部分,但似乎它會使事情比他們需要的更復雜。