%%
[0-9]+ {printf("%s is a number\n",yytext);}
%%
int main()
{
yylex();
}
对于输入affafe
,结果为affafe
,但不匹配。如何停止在输出中显示不匹配的输入?
答案 0 :(得分:2)
(F)lex插入一个默认动作来处理没有模式匹配的情况。默认操作与单个字符匹配,并将其回显到标准输出。
为避免这种情况,请在模式末尾添加自己的后备规则,该规则与单个字符匹配,不执行任何操作:
.|\n ;