2

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 ??*/);

yytextプレーンCで解析せずに?

4

1 に答える 1

0

[0-9] is numeric and [a-z]それがアルファであることを考慮して、Yaccを使用する解決策があります

だからあなたの文法は:

stmt : NUMERIC ALPHA NUMERIC    printf("alphabetical substring is %s\n", $2)
     ;

lexによって与えられたALPHAとNUMERIC

于 2013-04-01T13:57:48.343 に答える