2

我一直在尝试验证坐标的正确格式。目前我想保存坐标。但是当格式错误时,标记不会出现在我的地图上。

这是我的一些示例代码。

String latlon = "3.169054, 101.714108";
        String regex_coords = "/\\((\\-?\\d+\\.\\d+), (\\-?\\d+\\.\\d+)\\)/";
        Pattern compiledPattern2 = Pattern.compile(regex_coords, Pattern.CASE_INSENSITIVE);
        Matcher matcher2 = compiledPattern2.matcher(latlon);
        while (matcher2.find()) {
            System.out.println("Is Valid Map Coordinate: " + matcher2.group());
        }

我希望用户能够使用逗号仅保存此格式“3.169054, 101.714108”。

谁能帮我建立正则表达式来验证这种格式?

谢谢大家

4

1 回答 1

9

这应该适合你:

([+-]?\d+\.?\d+)\s*,\s*([+-]?\d+\.?\d+)

在线 RegexPlanet 演示:http ://fiddle.re/20pm

这允许任何坐标是一个可选地以+或开头的数字-。数字可以是整数或双精度数(但如果存在点,则必须用数字括起来)。

最后,可以得到经纬度为 group1 和 group2。

于 2013-02-20T09:50:46.027 回答