我正在使用一些数据,为谷歌地图提供路径作为路径或一组两个纬度和经度。我将这两个值都作为BLOB存储在mySql数据库中,但我需要检测结果中出现的不是路径的值。在试图做到这一点,我在BLOB保存它们的格式如下:正则表达式的两个纬度和经度不起作用
阵列(纬度,经度+纬度,经度)
我使用的preg_match找到这些结果,但我没有设法得到任何工作。这里是我尝试过的正则表达式代码:
^[a]{1}[r]{2}[a]{1}[y]{1}[\(]{1}[1-9\.\,\+]{1*}[\)]{1}^
^[a]{1}[r]{2}[a]{1}[y]{1}[\(]{1}(\-?\d+(\.\d+)?),(\-?\d+(\.\d+)?)\+(\-?\d+(\.\d+)?),(\-?\d+(\.\d+)?)[\)]{1}^
正则表达式有时会让我困惑(因为它现在正在这样做)。谁能帮我吗?
编辑:
在LAT可以是2位数字后跟一个小数点和8个更多位数和LNG可以是3个位数可以是3个位数由小数点follwed和8多个数字。两者都可以是正面的或负面的。
下面是一些例子LAT LNGS:
51.51160000,-0.12766000
-53.36442000,132.27519000
51.50628000,0.12699000
-51.50628000,-0.12699000
所以完全匹配看起来像:
阵列(51.51160000,-0.12766000 + -53.36442000,132.27519000)
进一步编辑
我使用的preg_match()PHP函数以匹配正则表达式。
哇。矫枉过正。只有一个字符如“a”代表它自己。如果您需要表示多个字符,则只需要字符类(方括号内的字符)。因此'array'与正则表达式中的[a] {1} [r] {2} [a] {1} [y] {1}'相同。 –
您能否提供您尝试匹配的实际输入列表?我不确定'lat'和'lng'应该是什么格式。 – CAustin
为什么文本是一个blob,你为什么不单独存储它们? –