正则匹配法比较严谨一些,你说的数字有没有条件限制?
下面是一些常用的判断各种数字的正则表达式:
- 验证数字:^[0-9]*$
- 验证n位的数字:^\d{n}$
- 验证至少n位数字:^\d{n,}$
- 验证m-n位的数字:^\d{m,n}$
- 验证零和非零开头的数字:^(0|[1-9][0-9]*)$
- 验证有两位小数的正实数:^[0-9]+(.[0-9]{2})?$
- 验证有1-3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$
- 验证非零的正整数:^\+?[1-9][0-9]*$
- 验证非零的负整数:^\-[1-9][0-9]*$
- 验证非负整数(正整数 + 0) ^\d+$
- 验证非正整数(负整数 + 0) ^((-\d+)|(0+))$
-
确定后使用python的re模块来匹配正则
写个小例子:
- import re
- p1=re.compile('^[0-9a-zA-Z]*$')#验证是数字字母组合
- number = p1.match('12345678kkdkdkdkkd')
- if number:
- print("yes")
- else:
- print("no")
-