LEX规则的写法

求一个LEX规则的写法一个SQL语句类似于select * from table where contains(name,xiaoming)0关于识别

求一个LEX规则的写法
一个SQL语句类似于
select * from table where contains(name,'xiaoming')>0;

关于识别'xiaoming'的规则,我的写法是

'[^'\n]*' {
  yyless(yyleng);
  if(yytext[yyleng]!='\''){

  yylval.str = strdup((char*)yytext);return SCONST;
  }else yymore();
  }

这个写法是参照《lex与yacc》这本书上改写的
这个没问题,是可以识别,但只能识别单引号里面的字符本身没有'的情况

现在发现,在oracle下,若contains里面本身就带有单引号,例如想查询xiao'ming这个词的话,里面的单引号是可以通过双写单引号来达到转义的目的
即语句变为select * from table where contains(name,'xiao''ming')>0

这种情况的LEX识别规则应该怎么写?如果后面执行体不变的话,只是将前面的规则改为'[^\n]*'是不行的,我试过了

请各位大虾帮忙呀

[解决办法]

[解决办法]
mark!