课程上提到的匹配不包含ab的a、b、c组成的字符串的正则表达式是b*(cb*+a+c)*,用flex测试了一下,对c语言的注释确实有效。
%{
int num_lines = 0, num_chars = 0;
%}
A [/]
B [*]
C [^*/]
%%
"/*"{A}*({C}{A}*|{B}|{C})*"*/" {num_chars ++;}
\n {++num_lines;}
%%
int main ()
{
yylex();
printf("# of lines %d, # of chars = %d \n", num_lines,num_chars);
}
int yywrap()
{
return 1;
}
|