1. 匹配长度至少为1的连续字符串,匹配成功char++
2. 匹配一个数字,该数字不能以0开头,匹配成功num++
3. 匹配换行符,不做任何操作;匹配任意字符(除\n)
代码如下:
%{
#include <stdio.h>
int num = 0;
int chars = 0;
%}
%%
[a-zA-Z]+ {chars++;}
[1-9]+[0-9]* {num++;}
\n
.
%%
int main(int argc, char **argv)
{
yylex();
printf("%8d%8d\n",num,chars);
}
int yywrap()
{
return 1;
}