当前位置:  开发笔记 > 编程语言 > 正文

如何在lex中创建没有特定字母组的正则表达式

如何解决《如何在lex中创建没有特定字母组的正则表达式》经验,为你挑选了0个好方法。

我最近开始学习lex,所以我练习并决定制作一个识别正常变量声明的程序.(有点)

这是我的代码:

%{
#include "stdio.h"
%}
dataType "int"|"float"|"char"|"String"
alphaNumeric [_\*a-zA-Z][0-9]*
space [ ]
variable {dataType}{space}{alphaNumeric}+
%option noyywrap
%%
{variable} printf("ok");
. printf("incorect");
%%
int main(){
yylex();
}

有些情况下输出应该返回 ok

int var3
int _varR3
int _AA3_

如果我键入输入:int float,则返回ok,这是错误的,因为它们都是保留字.

所以我的问题是我应该修改什么来使我的表达式忽略空格后的'dataType'字样?

谢谢.

推荐阅读
135369一生真爱_890
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有