我正在使用熊貓數據框,並希望從描述中的日期創建系列,開始日期和結束日期。我正在使用正則表達式來查找日期的發生,但似乎無法找到如何在第一個日期停止,然後繼續找到第二個日期。Python正則表達式匹配第一次約會,然後第二次
尋找這裏:How to stop at first occurence of match?
得到一個答案
(?s)(\d{1,2}/\d{1,2}/\d{2,4}).*
但這並沒有爲我工作,我還是被捕獲的所有日期,而不是隻有第一個。
使用
(\d{1,2}/\d{1,2}/\d{2,4})?
也不能工作。
基本上我想獲得在
pattern_generic=re.compile('(\d{1,2}\/\d{1,2}\/\d{2,4})') #perhaps will do start and end)
report['Start Date'] = report['Description'].apply(lambda x: re.findall(pattern_start,x))
report['End Date'] = report['Description'].apply(lambda x: re.findall(pattern_end,x))
不知道這是接近找到第一和第二個日期,並把它們放入列的最佳途徑。任何幫助/建議表示讚賞!
編輯:
實施例闡明:我有標題爲「描述」與各種項目的列的數據幀,例如「從1/2/13-3 /十五分之四購買的訂閱」。我想這兩個日期拍攝成兩列,開始和結束
Description Start Date End Date
'Purchased Subscription from 1/2/13-3/4/15' 1/2/13 3/4/15
一個例子會更好。 – 2014-08-27 15:11:46
當然,我添加了一個我正在工作的樣本以及我想實現的目標,讓我知道如果這樣做會清除一些東西 – Alexis 2014-08-27 15:16:07
,所以有很多行像''從1/2/13-3/4/15''在你的輸入中,我是否正確? – 2014-08-27 15:17:30