我正在做一个小的javascript方法,它接收一个点的列表,并且我必须阅读这些点以在谷歌地图中创建一个Polygon。为什么这个JavaScript的正则表达式不起作用?
我收到的形式对这些点:
(纬度,经度),(纬度,经度),(纬度,经度)
所以我已经做了以下的正则表达式:
\(\s*([0-9.-]+)\s*,\s([0-9.-]+)\s*\)
我和RegexPal测试它和确切的数据我收到:
(25.774252, -80.190262),(18.466465, -66.118292),(32.321384, -64.75737),(25.774252, -80.190262)
和它的工作原理,那么为什么当我在JavaScript中使用此代码时,结果中会收到空值?
var polygons="(25.774252, -80.190262),(18.466465, -66.118292),(32.321384, -64.75737),(25.774252, -80.190262)";
var reg = new RegExp("/\(\s*([0-9.-]+)\s*,\s([0-9.-]+)\s*\)/g");
var result = polygons.match(reg);
执行时(使用谷歌浏览器的调试模式),我没有javascript错误。此代码托管在包含的JS文件中的JavaScript函数中。该方法在OnLoad方法中调用。
我搜了很多,但我找不到为什么这不起作用。非常感谢你!
太棒了,它的工作!我不知道这个合成器。小问题:我收到一个结果数组,但是如何检索我的捕获“(...)”的内容?(this:([0-9 .-] +)) – J4N
请参阅我的更新。 –
非常感谢,我需要的是 – J4N