jianxing11
2011-05-22 21:23 浏览 166
已采纳

正则表达式奇怪的地方,不懂

各位高手进来看看。
今天写了一个正则表达式,验证整数和浮点数的。
^(-?\d+)$|^-?\d+(.\d+)$

以上如此简单的一个正则表达式,匹配的结果很奇怪。
可以匹配
1
1.1
1,1
1;1
不可以匹配
1,1,1
1;1;1
而我仅仅是想让其匹配出1 或者 1.1
请大家解决一下!^_^

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答 默认 最新

  • 已采纳
    jiawulu wuzhong 2011-05-22 23:26

    ^-?\d*.?\d*$

    . 转义匹配 ‘.’ 号, * 带表任意个

    1.121212
    -1.1
    11.22222222
    111111111
    -123213.123213213
    测试通过以上数据

    PS: 只是满足你那个小小的需求:
    [quote]而我仅仅是想让其匹配出1 或者 1.1 [/quote]

    有个工具,不错,需要破解:RegexBuddy

    点赞 评论 复制链接分享
  • xiewanxw xiewanxw 2011-05-23 13:43

    ^(-?\d+)$|^-?\d+(.\d+)$

    点赞 评论 复制链接分享

相关推荐