首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >匹配纬度/经度坐标的正则表达式?

匹配纬度/经度坐标的正则表达式?
EN

Stack Overflow用户
提问于 2010-08-19 11:26:18
回答 13查看 150.2K关注 0票数 166

我正在尝试创建一个正则表达式来匹配纬度/经度坐标。为了匹配双精度数字,我使用了(\-?\d+(\.\d+)?),并尝试将其组合到一个表达式中:

代码语言:javascript
复制
^(\-?\d+(\.\d+)?),\w*(\-?\d+(\.\d+)?)$

我期望这个匹配一个双精度,一个逗号,也许一些空格,和另一个双精度,但它似乎不起作用。具体地说,只有当没有空间,而不是一个或多个空间时,它才起作用。我做错了什么?

EN

回答 13

Stack Overflow用户

回答已采纳

发布于 2010-08-19 11:38:50

空格是\s,而不是\w

代码语言:javascript
复制
^(-?\d+(\.\d+)?),\s*(-?\d+(\.\d+)?)$

看看这是否有效

票数 130
EN

Stack Overflow用户

发布于 2013-01-04 18:51:58

其实Alix Axel,上面的正则表达式在纬度、经度范围的角度都是错误的。

纬度测量范围为-90°到+90°经度测量范围为-180°到+180°

因此,下面给出的正则表达式验证更准确。

此外,根据我的想法,没有人应该限制纬度/经度的小数点。

代码语言:javascript
复制
^([-+]?\d{1,2}([.]\d+)?),\s*([-+]?\d{1,3}([.]\d+)?)$

或者对于目标C

代码语言:javascript
复制
^([-+]?\\d{1,2}([.]\\d+)?),\\s*([-+]?\\d{1,3}([.]\\d+)?)$
票数 20
EN

Stack Overflow用户

发布于 2014-05-16 04:00:56

代码语言:javascript
复制
^-?[0-9]{1,3}(?:\.[0-9]{1,10})?$

正则表达式细分:

代码语言:javascript
复制
^-?[0-9]{1,3}(?:\.[0-9]{1,10})?$

-? #接受负值

^ #字符串的开头

[0-9]{1,3} #匹配1-3位数字(即0-999)

(?: #尝试匹配...

\. #小数点

[0-9]{1,10} #后跟1到10位数字(即0-9999999999)

)? # ...optionally

$ #字符串结束

票数 16
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3518504

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档