经度和经度分开的正则表达式



我正在尝试提出两个正则表达式,一个用于纬度值,-85.05112878<纬度><85.05112878,一个用于经度值,-180.0><长><180.0>

非常感谢帮助

不是很漂亮,你可以试试这个纬度

-85.05112878 <<em>纬度 <85.05112878

^(?:-?85.0(?:000000d*|0{1,5}(?:[1-9]d*)?|[1-4]d*|5(?:0d*)?|5(?:1(?:0d*)?)?|511(?:[0-1]d*)?|5112(?:[0-7]d*)?|51128(?:[0-6]d*)?|511287[0-8]?)?0*|(?:-[1-9]|-?[1-7]d|-?8[0-4]|d).d+)$

扩大

^ 
(?:
-? 85
.0
(?:
000000 d* 
|  0{1,5} (?: [1-9] d* )?
|  [1-4] d* 
|  5 (?: 0 d* )?
|  5 (?: 1 (?: 0 d* )? )?
|  511 (?: [0-1] d* )? 
|  5112 (?: [0-7] d* )? 
|  51128 (?: [0-6] d* )?
|  511287 [0-8]?     
)?
0*
|  
(?:
- [1-9] 
|  -? [1-7] d 
|  -? 8 [0-4] 
|  d 
)
. d+ 
)
$

而这个为经度

-180.0<长><180.0

^(?:-?180.0+|(?:-[1-9]|-?[1-9]d|-?1[0-7]d|d).d+)$

扩大

^     
(?:
-? 180 . 0+
|  
(?:
- [1-9] 
|  -? [1-9] d 
|  -? 1 [0-7] d 
|  d 
)
. d+ 
)
$

编辑

这与上面相同,只是它匹配部分(有效(形式,例如

54


54.
54.1
等 ...

纬度

^(?:-?85(?:.(?:0(?:000000d*|0{1,5}(?:[1-9]d*)?|[1-4]d*|5(?:0d*)?|5(?:1(?:0d*)?)?|511(?:[0-1]d*)?|5112(?:[0-7]d*)?|51128(?:[0-6]d*)?|511287[0-8]?)?)?0*)?|(?:-[1-9]|-?[1-7]d|-?8[0-4]|d)(?:.d*)?)$

扩大

^ 
(?:
-? 85
(?:
.
(?:
0
(?:
000000 d* 
|  0{1,5} (?: [1-9] d* )?
|  [1-4] d* 
|  5 (?: 0 d* )?
|  5 (?: 1 (?: 0 d* )? )?
|  511 (?: [0-1] d* )? 
|  5112 (?: [0-7] d* )? 
|  51128 (?: [0-6] d* )?
|  511287 [0-8]?     
)?
)?
0*
)?
|  
(?:
- [1-9] 
|  -? [1-7] d 
|  -? 8 [0-4] 
|  d 
)
(?: . d* )?
)
$

^(?:-?180(?:.0*)?|(?:-[1-9]|-?[1-9]d|-?1[0-7]d|d)(?:.d*)?)$

扩大

^     
(?:
-? 180 
(?: . 0* )?
|  
(?:
- [1-9] 
|  -? [1-9] d 
|  -? 1 [0-7] d 
|  d 
)
(?: . d* )?
)
$

最新更新