我正在尝试创建一个正则表达式来匹配纬度/经度坐标。为了匹配双精度数字,我使用了(\-?\d+(\.\d+)?),并尝试将其组合到一个表达式中:
^(\-?\d+(\.\d+)?),\w*(\-?\d+(\.\d+)?)$我期望这个匹配一个双精度,一个逗号,也许一些空格,和另一个双精度,但它似乎不起作用。具体地说,只有当没有空间,而不是一个或多个空间时,它才起作用。我做错了什么?
发布于 2010-08-19 11:38:50
空格是\s,而不是\w
^(-?\d+(\.\d+)?),\s*(-?\d+(\.\d+)?)$看看这是否有效
发布于 2013-01-04 18:51:58
其实Alix Axel,上面的正则表达式在纬度、经度范围的角度都是错误的。
纬度测量范围为-90°到+90°经度测量范围为-180°到+180°
因此,下面给出的正则表达式验证更准确。
此外,根据我的想法,没有人应该限制纬度/经度的小数点。
^([-+]?\d{1,2}([.]\d+)?),\s*([-+]?\d{1,3}([.]\d+)?)$或者对于目标C
^([-+]?\\d{1,2}([.]\\d+)?),\\s*([-+]?\\d{1,3}([.]\\d+)?)$发布于 2014-05-16 04:00:56
^-?[0-9]{1,3}(?:\.[0-9]{1,10})?$正则表达式细分:
^-?[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
$ #字符串结束
https://stackoverflow.com/questions/3518504
复制相似问题