我有以下正则表达式模式:
^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演示