2 weixin 40915647 weixin_40915647 于 2018.01.12 15:51 提问

求一个正则表达式1-10之间 要求 是 可以为1或者10,并且只允许小数点后一位,比如5.5。但5.55就不行

要求 是 可以为1或者10,并且只允许小数点后一位,比如5.5。但5.55就不行

14个回答

u013020593
u013020593   2018.01.12 16:28
已采纳

优化 @jmy1980的代码


import java.util.regex.Pattern;
public class test
{
    public static void main(String[] args)
    {
        Pattern p = Pattern.compile("^([1-9](\\.\\d)?)|(10)$");
        System.out.println("0" + p.matcher("0").matches());
        System.out.println("1" + p.matcher("1").matches());
        System.out.println("1.1" + p.matcher("1.1").matches());
        System.out.println("1.11" + p.matcher("1.11").matches());
        System.out.println("10" + p.matcher("10").matches());
    }
}
u013020593
u013020593 回复weixin_40915647: 我翻译一下这个正则表达式:匹配小数点前为1-9并且小数点后为一个正整数的数字,也匹配10这个数字
5 个月之前 回复
u013020593
u013020593 回复weixin_40915647: 10.5是不匹配这个正则表达式的
5 个月之前 回复
weixin_40915647
weixin_40915647 10.5可以么
5 个月之前 回复
showbo
showbo   Ds   Rxr 2018.01.12 15:58
 ^([1-9](\.\d)?|10)$
dhh1226
dhh1226   2018.01.12 16:02

(10(.|.0)?)|(0.([1-9]?))|(1-9?)

weixin_40915647
weixin_40915647 8.555可以成功
5 个月之前 回复
zhangxinjin000
zhangxinjin000   2018.01.12 16:04

^(1-9?|10)$

xiaokanxingchen
xiaokanxingchen   2018.01.12 16:08

/^[1-9]|10|[1-9]\.[0-9]$/

jmy1980
jmy1980   2018.01.12 16:18

^(1-9?)|(10)$

 Pattern p = Pattern.compile("^([1-9](\\.\\d)?)|(10)$");
        System.out.println("0"+p.matcher("0").matches());
        System.out.println("1"+p.matcher("1").matches());
        System.out.println("1.1"+p.matcher("1.1").matches());
        System.out.println("1.11"+p.matcher("1.11").matches());
        System.out.println("10"+p.matcher("10").matches());

结果:

 0false
1true
1.1true
1.11false
10true
jmy1980
jmy1980   2018.01.12 16:20

上贴拷贝有问题,代码为准。

  Pattern p = Pattern.compile("^([1-9](\\.\\d)?)|(10)$");
    System.out.println("0"+p.matcher("0").matches());
  System.out.println("1"+p.matcher("1").matches());
  System.out.println("1.1"+p.matcher("1.1").matches());
  System.out.println("1.11"+p.matcher("1.11").matches());
        System.out.println("10"+p.matcher("10").matches());

结果:

 0false
1true
1.1true
1.11false
10true

XZF01
XZF01   2018.01.12 16:37

(10(.|.0)?)|(0.([1-9]?))|(1-9?),,,

qq_28748797
qq_28748797   2018.01.12 16:54

/^(1-9)((.\d)?||(10))$/

lxm1324968931
lxm1324968931   2018.01.12 16:58

if [[ "$1" =~ ^(1-9?|10)$ ]];then
echo "ok"
fi

共14条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!