Rumah > Soal Jawab > teks badan
求大神帮我看看这个正则是什么意思?匹配什么样的数据
"/^(\-)?[0-9]+(\.[0-9]+)?$/"
麻烦给个例子,什么样的数据是对的,什么样是错的
巴扎黑2017-01-24 11:50:14
这个是匹配整数或小数的。
1.可以带负号(-)的整数,不可以带正好(+):
-123, -0, 0, 1, 23, 232323232323
2.带小数点的小数
0.1, 12.34等
只带小数点不带小数部分是不可以的,比如1.是不可以的。
解析:
^(\-)?[0-9]+(\.[0-9]+)?$
1. ^表示从一个表达式的开头部分开始匹配,最后的$表示一直匹配到表达式的最后。
2. (\-)?表示允许带负号
3. [0-9]+表示至少一个0-9的数字。
4. (\.[0-9]+)表示小数点和后面的数字式绑定的,如果有小数点,则必须至少有一个数字在后面。
5.(\.[0-9]+)?表示小数部分可有可无。