在我的.l文件中,我使用正如下面的正则表达式设置了几条规则
%{
#include <string.h>
%}
%%
[0-9]* {string.append("something");
return 1;}
[^\n]* /*ignore*/
鉴于上述代码,程序每次运行时都会为终端生成空白区域。
答案 0 :(得分:1)
如果你想忽略空格,请忽略空格:):
[[:space:]]+ ;
(这也会忽略换行符,因此您可以使用它而不是换行符规则。)
默认情况下,(f)lex对任何无法识别的字符使用默认规则ECHO;
。如果这不是你想要的(除了传感器通常不是),那就把
%option nodefault
在您的序言中,如果有任何模式可能与您的某个规则不匹配,flex会警告您。