使用REGEX验证坐标的正确格式

ais*_*hul 2 java regex latitude-longitude coordinate

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

这是我的一些示例代码.

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());
        }
Run Code Online (Sandbox Code Playgroud)

我希望用户能够使用逗号将此格式仅保存为"3.169054,101.714108".

任何人都可以帮助我构建正则表达式以有效这种格式吗?

谢谢大家

mvp*_*mvp 9

这应该适合你:

([+-]?\d+\.?\d+)\s*,\s*([+-]?\d+\.?\d+)
Run Code Online (Sandbox Code Playgroud)

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

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

最后,您可以获得group1和group2的纬度和经度.