2012-01-21 44 views
1

我正在處理一些非常不統一的數據,我使用Ruby正則表達式來解析它。我必須解析字符串中的時間,並且我處理時間的數據被列爲9-10:30AM,9:30 AM-9:00PM,9-10AM。這些會議記錄不一定列出,如果兩次都一樣,則不會列出AM/PM。使用Ruby正則表達式解析時間

我想創建基於這些時間使用正則表達式的紅寶石時間對象,但我遇到了麻煩開發一個表達式,將捕獲任何這些時間。

這是我已經試過:

results = rule.scan(/no parking(sanitation broom symbol)(\d+:\d+((a|p)m))-(\d+:\d+((a|p)m)/) 

有了這個,我已經無法返回任何結果,即使結果被列爲我寫了他們。 \ d +用於匹配數字中的整數,我認爲用括號匹配表達式的方式可能有問題。

+0

用[Rubular](http://rubular.com/)進行破解以查看是否可以找到問題怎麼辦?請記住,括號表示捕獲部分,而不是可選部分。你的Regexp中有UTF-8嗎?輸入數據是否採用相同的編碼? – tadman

+1

如果你提供了大量的輸入和預期的輸出,那將會容易得多。 –

+0

我們需要在解析後看到一些示例數據和您的預期結果。 –

回答