ここの行で:
Category Shoes brand:char[30];cost:float;years:int
私は2つの別々の正規表現を書き込もうとしています。1つはコロンの前に表示されるラベルを区切るためのもので、もう1つはコロンの後から次のセミコロンまたは行末までの式を取得するためのものです。
これまで私は思いついた
a。) [^:]+
最初のケースの場合
b。)[\:...\;]
2番目のケースの場合
私の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