考虑一个简单的整数数字识别表达式,如下所示:
[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?