我正在使用一些數據,爲谷歌地圖提供路徑作爲路徑或一組兩個緯度和經度。我將這兩個值都作爲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,你爲什麼不單獨存儲它們? –