数字由 ‘-‘ ‘.‘ ‘0-9‘ 组成,如何识别输入是否非法?
合法的情况分为三种,如果不符合这三种情况,则为非法,合法的情况如有:
1. ‘.‘ 开头 -> 后边跟 0-9 (1-N个)
如 .9代表0.9
2. ‘-‘开头
后面同0-9开头一样的约束
3. ‘0-9‘开头
0-9 (1-N个) - (可以后跟随)- > . (1个) - (可以后跟随)- > 0-9 (0-N个)
如:1 / 1. / 1.1
合法的情况,用形如编译原理中factor表示的话:
实数:
实数 -> (负数)
实数 -> (正数)
实数 -> (‘.‘小数)
负数 -> (-)(正数)
正数 -> (正整数)
正数 -> (正整数)(.)
正数 -> (正整数)(.)(正整数)
‘.‘小数 -> (.)(正整数)
正整数 -> (0-9)
正整数 -> (0-9)(正整数)
Owed by: 春夜喜雨 http://blog.csdn.net/chunyexiyu 转载请标明来源
原文地址:http://blog.csdn.net/chunyexiyu/article/details/41514253