正则表达式 @"^[0-9]*[1-9][0-9]*$" 第一个[0-9]* 表示匹配0次或多次0-9 为什么不能表达等于0的整数
问题描述:
正则表达式 @"^[0-9]*[1-9][0-9]*$" 第一个[0-9]* 表示匹配0次或多次0-9 为什么不能表达等于0的整数
答
@"^[0-9]*[1-9][0-9]*$"
这是一个整体啊,^ $ 框起来了,说明这个正则要匹配的是完整的一整个字串.然后中间的 [1-9]可没有加 * 号,说明这个字串里至少需要一个非 0 的数据,于是 0 这个整数就不能配置到了.。。。我说的是“中间的[1-9]可没有加 * 号”,是说中间的[1-9]没有加 * 号,表示至少需要有 1-9 中的数字中的一个啊。而 0 这个整数你说它是不是包含了 1-9?没有吧,没有就不能匹配啊。你要不说说你想匹配的内容特征,我们来分析分析。