В строке здесь:регулярных выражения: Разделительные слов до и после двоеточия
Category Shoes brand:char[30];cost:float;years:int
Я пытаюсь написать два отдельных выражения регулярных выражений: один, чтобы отделить метку, которая будет отображаться перед двоеточием, и другой, чтобы получить выражение после двоеточия до следующей точки с запятой или конца строки. ..
До сих пор я придумал
а) [^:]+
для первого случая
б) [\:...\;]
для второго случая
Мои файлы 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: :
Любые данные о том, как я буду решать это, были бы замечательными.
EDIT:
Ожидаемый результат:
Label: brand
Type: char[30]
Label: cost
Type: float
Label: years
Type: Float
Вы можете разместить точный вывод, который вы хотите получить? – bchurchill
Хороший звонок, сделано. – Louis93
Пока не понимаю. Почему последний «тип» Float (с капитолом F) и почему существует больше «типов», чем «ярлыки»? – bchurchill