Regex表达式模式,用于检查多个纬度和经度值



我有以下正则表达式模式:

^POLYGONs*(((-?d+(.d+)?)s*(-?d+(.d+)?)))$

我正在尝试匹配字符串模式POLYGON(77.40970726940513 12.978147980713118,77.375852597873805 13.273612877088299,77.802534625545315 13.185991361443607,77.83326404994843 12.87141240078642,77.60553384375903 12.753157552741165,77.470039361302485 12.806758717988348,77.40044069330365 12.989005488377385,77.409707269 40513 12.97814780713118(。但是我上面使用的regex模式只满足值为POLYGON((130.55809472656256 111.33(的字符串

需要有关regex表达式的帮助,以便将如上所述的字符串与具有逗号分隔组的多个lat-long值进行匹配。

您可以选择重复模式的第二部分,并匹配逗号或空白字符以匹配整个字符串。

^POLYGONs*((-?d+(?:.d+)?(?:[,s]-?d+(?:.d+)?)*))$

Regex演示

如果它们应该成对出现,用空白字符分隔,在lat-long后面用逗号分隔,您可以选择重复这些对:

^POLYGONs*((-?d+(?:.d+)?s-?d+(?:.d+)?(?:,-?d+(?:.d+)?(?:s-?d+.d+)?)*))$

Regex演示

最新更新