我想匹配非空格字符,所以我用 JFlex 定义了 flex 文件:
%%
Value = [\S]+
%%
{Value} { return MyTokens.Value; }
. { return MyTokens.BadCharacter; }
然后我尝试生成的java代码来分析字符串“abc”,但我得到:
BadCharacter(a)
BadCharacter(b)
BadCharacter(c)
如果我将声明更改为:
Value = [a-z]+
然后我可以得到预期的结果:
Value(abc)
为什么\S
不工作?这不是“非空白”的意思吗?