在这里的行中:
Category Shoes brand:char[30];cost:float;years:int
我正在尝试编写两个单独的正则表达式:一个用于分隔将出现在冒号之前的标签,另一个用于将冒号之后的表达式直到下一个分号或行尾。
到目前为止,我想出了
a.) [^:]+
对于第一种情况
b.)[\:...\;]
对于第二种情况
我的 Flex 文件内容如下:
%%
[^:]+ { printf("\nLabel: %s\n",yytext); }
[\:...\;] { printf("\nType: %s\n",yytext); }
%%
但是,输出如下:
Label: char
Category Shoes brand
Type: :
Label: char[30];cost
Type: :
Label: float;years
Type: :
关于我将如何解决这个问题的任何输入都会很棒。
编辑:
预期输出:
Label: brand
Type: char[30]
Label: cost
Type: float
Label: years
Type: Float