weixin_42489475
2011-11-14 11:34
浏览 801
已采纳

求一个大于1的正则表达式!

:cry: 谢谢!

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • _1_1_7_ 2011-11-14 14:57
    已采纳

    [code="java"]
    public static void main(String[] args) throws Exception {
    Pattern p = Pattern.compile("([2-9]+(\.\d+)?)|(1\d+(\.\d+)?)|(1\.\d*[1-9]+)");
    String[] a = { "1.0000000000000001", "12.001", "1.0000", "0.111" };
    for (String n : a) {
    System.out.println(p.matcher(n).matches());
    }
    }
    [/code]

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • yy1230 2011-11-14 11:42

    ^([^01]|\d{2,})$

    评论
    解决 无用
    打赏 举报
  • long13131462101 2011-11-14 12:16

    [code="java"]\d*
    \d * 表示由0到n个数字组成
    <?
    $line="123456";
    preg_match_all("/\d*/s",$line,$match);
    print_r($match);
    ?>[/code]

    评论
    解决 无用
    打赏 举报
  • winjiajia 2011-11-14 12:24

    /^1-9(.){0,1}[\d]*](\d)$/

    评论
    解决 无用
    打赏 举报
  • thxger 2011-11-14 15:04

    分情况讨论就可以了,用或组合一下,就是结果。

    1、只有一位数字:[2-9]
    2、两位以上的数字:[1-9][0-9]+

    如需考虑小数点,就进一步细化可能的情况。所有情况的合集就是你需要的正则表达式。

    这样做性能可能不佳,结合实际考虑吧。

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题