是否可以使用lex
正则表达式提取子字符串,就像使用sed
一样?
例如
sed -e 's/[0-9]*\([a-z]*\)[0-9]*/\1/'
将从foo
中提取34234foo777
或从bar
提取123bar456
是否可以像这样使用lex:
[0-9]*\([a-z]*\)[0-9]* printf("alphabetical substring is %s\n", /*what?? \1 ??*/);
没有通过普通C解析yytext
?
答案 0 :(得分:0)
考虑到[0-9] is numeric and [a-z]
是alpha
所以你的语法是:
stmt : NUMERIC ALPHA NUMERIC printf("alphabetical substring is %s\n", $2)
;
由lex给出的ALPHA和NUMERIC