求一个验证经纬度的正则表达式
经度 120度09′22″ 纬度 20度40′20″经度 的度数为 0-180的范围  分数为 0-60 秒数为: 0-60   纬度 的度数为 0-90的范围  分数为 0-60 秒数为: 0-60

解决方案 »

  1.   


    正则式可以匹配:数字度数字′数字″范围什么的需要单独匹配的。
        public static void main(String[] args)
        {
            String str = "20度40′20″";
            
            Pattern p = Pattern.compile("(\\d{1,3})度(\\d{1,2})′(\\d{1,2})″");
            
            Matcher m = p.matcher(str);
            
            while(m.find())
            {
                //这里可以对m.group(1~3)做数值范围的校验
                String du = m.group(1);
                System.out.println("度为:"+du);
                String fen = m.group(2);
                System.out.println("分为:"+fen);
                String miao = m.group(3);
                System.out.println("秒为:"+miao);
            }
        }