search

Home  >  Q&A  >  body text

正则表达式问题

求大神帮我看看这个正则是什么意思?匹配什么样的数据 
"/^(\-)?[0-9]+(\.[0-9]+)?$/" 
麻烦给个例子,什么样的数据是对的,什么样是错的

女神的闺蜜爱上我女神的闺蜜爱上我2859 days ago1126

reply all(1)I'll reply

  • 巴扎黑

    巴扎黑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]+)?表示小数部分可有可无。 

    reply
    0
  • Cancelreply