緯度経度座標にマッチする正規表現?
緯度経度座標にマッチする正規表現を作ろうとしています。緯度経度座標をマッチングする正規表現を作ろうとしているのですが、緯度経度座標をマッチングする正規表現を作ろうとしているのですが、緯度経度座標をマッチングする正規表現を作ろうとしているのですが、緯度経度座標をマッチングする正規表現を作ろうとしています:
^(\-?\d+(\.\d+)?),\w*(\-?\d+(\.\d+)?)$
私はこれがダブル、カンマ、おそらくスペース、そしてもう一つのダブルにマッチすると期待したのですが、うまくいかないようです。具体的には、スペースがない場合のみ動作し、1つ以上では動作しません。何を間違えたのでしょうか?
128
18
これは、正しい範囲内にある ⁇ 度と経度の値に厳密に一致します。
一致します。
-+90.0、-127.554334。 -45、180。 -90、-180。 -90.000、-180.0000。 -+90、+ 180。 -47.1231231、179.99999999。
一致しません。
-90。、-180。 -+90.1、-100.111。 -91、123.456。 -045、180。
空白は "we "ではなく "we "です。
これが機能するかどうかを確認する
私はこれらのものを使用しています(小数形式、小数点以下6桁):
⁇ 度。 --------。
[。![ ⁇ 度正規表現の視覚化][1]][1]。
経度。 ---------。
[。![経度正規表現の視覚化][2]][2]。
----------。 [ここ][3]は、アクセスを容易にするために、ここでも報告されている両方をテストする要点です。 これはJava TestNGテストです。 それを実行するには、Slf4j、Hamcrest、Lombokが必要です。
実際、正規表現を超えるアリックスアクセルは、 ⁇ 度、経度の範囲の視点で間違っています。
⁇ 度測定の範囲は–90°です。 + 90°まで 経度測定の範囲は–180°です。 +180°まで
したがって、以下に示す正規表現はより正確に検証されます。 また、私の考えによれば、 ⁇ 度/経度の小数点を制限するべきではありません。
または目的Cの場合。
正規表現の内訳:
-?
#負の値を受け入れます。^
#文字列の開始。[0-9] {1,3}
#1〜3桁に一致(i。 e。 0-999)。(?:
#一致するようにしてください。..\。
#小数点。[0-9] {1,10}
#の後に1〜10桁が続きます(i。 e。 0-99999999999)。)?
#。 ..オプションで。$
#文字列の終わり。これを試して:
チェックしてください:
http://regexpal.com/。
上のボックスに式を貼り付け、次にこのようなものを下のボックスに入れます。
正規表現の内訳:
さて、これが行わないことは、それ自体をこの範囲に制限することです:
代わりに、単純にこの範囲に制限されます。
しかし、要点は主に表現の各部分を分析することです。
より厳密なバージョンは次のとおりです。
-90
-+ 90
。 -経度=-180
-+ 180
。Python:
⁇ 度:
result = re.match( "^ [+-]?((90 \?0 * $)|(([0-8]?[0-9])\?[0-9] * $)) "、' -90.00001 ')
。経度:
result = re.match( "^ [+-]?((180 \?0 * $)|((((1 [0-7] [0-9])|([0-9] {0,2}))\?[0-9] * $)) "、' -0.0000 ')
。この例では ⁇ 度は失敗するはずです。
本来は空白を使うべきところ、"単語文字 "を使っているのではないでしょうか。 単語文字は通常[A-Za-z0-9_]で構成されているので、空白は除外され、さらにオプションのマイナス記号や数字ではマッチしません。
これは次のようなフォーマットで機能する:31 ͦ 37.4' E
@ macro-ferrari私はそれを短縮する方法を見つけました、そしてregexエンジンについての最近のすべての話に照らして先を見通すことなく。
。![ここに画像の説明を入力してください](https://i.stack.imgur.com/Qs1z2.png。)。
。![ここに画像の説明を入力してください](https://i.stack.imgur.com/vAMqV.png。)。
ルビー。
経度 -179.99999999。.180 。
⁇ 度 -89.99999999。.90 。
⁇ 度と経度の正しいパターンをチェックするための目的Cの完全で単純な方法は次のとおりです。
ここで、 searchedString は、ユーザーがそれぞれのテキストフィールドに入力する入力です。
PHP。
PHPのバージョンは次のとおりです(入力値は「$ latitude」と「$ longitude」です)。
あなたはこれを試すことができます:
これを試して:
これを試して: