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

+これにより、任意の座標を、オプションでまたはで始まる数値にすることができます-。Number は integer または double のいずれかです (ただし、ドットがある場合は数字で囲む必要があります)。

最後に、緯度と経度を group1 と group2 として取得できます。

于 2013-02-20T09:50:46.027 に答える