可以在lex的deFinition部分为正则表达式指定名称,后续用{name}方式引用。
%{ #include <stdlib.h> #include <stdio.h> int count = 0; %} digit [0-9] number {digit}+ %% {number} { int n = atoi(yytext); printf("number: %d\n",n); count++; } quit { return 0; } . ; %% int main() { yylex(); printf("number count: %d\n",count); return 0; }
运行结果:
abc 123 def 456 789 quit number: 123 number: 456 number: 789 number count: 3
原文地址:https://www.jb51.cc/regex/358581.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。