我必須使用正則表達式與Python一個簡單的問題...正則表達式不匹配它應該
我試圖抓住GPS座標指出,將被格式化爲這樣一行:
-73209460,44477974
有時它會有領先的' - ',有時候會不會。因此,我的正則表達式如下:
'-?\d\d\d\d\d\d\d\d,\d\d\d\d\d\d\d\d'
這裏的怪異的一部分:
我已經測試此查詢上單獨的GPS座標串(上)和它工作得很好,與它匹配,並如預期的行爲。然而,當我設法得到它相匹配的GPS COORDS當出現「噪音」圍繞它,它不抓住它......這是一條線,在GPS COORDS是:
RoutingRequest,1391101299,3,-10,1,-1,1000,-73209460,44477974,-1,56862713,56862712,
知道爲什麼它不會抓住這個?與逗號有什麼關係?
謝謝你們。
編輯:
感謝所有的答覆......下面是我用一個快速的測試腳本:
import re
def doesntWork():
gpsCoords = r'-?\d\d\d\d\d\d\d\d,\d\d\d\d\d\d\d\d'
gps = re.compile(gpsCoords)
match = gps.match("1000,-73209460,44477974,-1,56862")
if match:
return True
else:
return False
def works():
gpsCoords = r'-?\d\d\d\d\d\d\d\d,\d\d\d\d\d\d\d\d'
gps = re.compile(gpsCoords)
match = gps.match("-73209460,44477974")
if match:
return True
else:
return False
def main():
print doesntWork()
print works()
main()
你可能會尋找類似:'/ ^( - \ d {8}?),( - \ d {8}?)$ /' – Rohit
您是否嘗試過在測試程序測試您的正則表達式像KODOS? 另外,我會仔細看看python的正則表達式文檔頁面,它看起來像很多您的更改可以像羅希特說的那樣捲起來。 –
你使用re.match()還是re.search()?你能用一個可行的例子發佈你的代碼,一個不起作用嗎? –