首先程序要求用户输入一个字符串。然后它调用yylex()函数并显示字符串是否被接受。我想在匹配第一个输入后停止接受输入中的其他字符串。 下面的代码首先要求用户输入一个字符串,然后打印它是否被接受。但这个过程一直持续到我按CTRL + D.我只想接受字符串中的一个输入,匹配然后停止。我的代码出了什么问题?感谢
%%
^[a-z][A-Z][a-z]{1,8}$ {printf("Username Accepted");}
.* printf("Invalid Username");
%%
int main()
{
printf("Enter Username: ");
yylex();
printf("\ndone");
}
答案 0 :(得分:1)
只需读取我们自己的字符串,然后调用yy_scan_string,然后调用yylex:
char myString[100];
fgets (myString, sizeof(myString), stdin);
yy_scan_string(myString);
yylex ();