Nik*_*hil 4 c regex lex flex-lexer
我真的不熟悉 lex/flex。我正在尝试调试一些遗留的 flex 代码。我想查看与特定规则匹配的文本。
例如。
[a-z]* {"some C code" "need to print the string that matched this rule"}
Run Code Online (Sandbox Code Playgroud)
例如。如果johndoe@xyz.com 是输入,我需要打印匹配的字符串,即johndoe
我尝试打印yytext,但它只显示第一个字符。
如果您正在尝试调试,并且正在使用flex,那么您可能希望在-d将 flex 输入转换为C. 这将构建一个调试扫描器,它将自动报告所有规则匹配(以及其他事件)。
有关更多详细信息,请参阅flex 手册
如果你真的想插入printf语句,这应该可以正常工作:
printf("The matched text is <%s>\n", yytext);
Run Code Online (Sandbox Code Playgroud)