【发布时间】:2013-10-23 14:23:58
【问题描述】:
考虑一个简单的整数数字识别表达式,如下所示:
[0-9]+ printf("Integer");
现在,如果我将123 作为输入,它会返回Integer,这很公平。现在,如果我将s123 作为输入,它会打印出sInteger。无与伦比的s 默认打印ECHO,这对我来说很酷。但是为什么还要打印Integer。 lex 不应该只返回s 吗?我的输入被视为一个完整的字符串,对吗?我的意思是s123 is considered as a 1 full input?。只要遇到s 与[0-9]+ 不匹配,所以它应该只是echo default unmatched value s123 但为什么sInteger?
【问题讨论】: