我正在尝试提出两个正则表达式,一个用于纬度值,-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* )?
)
$