我工作的一大批量文本字符串,試圖匹配日期時間和使用strptime()函數將其轉換爲MM-DD-YYYY格式。Python的正則表達式「負面」模式匹配
然而,也有一些5位的號碼出現在文本(例如,90481),其具有誤導我.findall()函數將它們視爲日期倍。如何通過包含^()類型的條件來排除它們,從而避免它們?
它們有什麼共同點是,他們都是5位數,所以我已經試過^(?!\ d {5}),但它並沒有變成好。處理這組數字的最佳方法是什麼?
謝謝。
注1:我已閱讀this post,但似乎無法得到它。
注2:關於日期的格式有人問在評論部分
有在我的工作中的數據幀許多日期格式,例如:
05/10/2001; 05/10/01; 5/10/09; 6/2/01
May-10-2001; May 10, 2010; March 25, 2001; Mar. 25, 2001; Mar 25 2001;
25 Mar 2001; 25 March 2001; 25 Mar. 2001; 25 March, 2001
Mar 25th, 2001; Mar 25th, 2001; Mar 12nd, 2001
Feb 2001; Sep 2001; Oct 2001
5/2001; 11/2001
2001; 2015
所以我有一個相當長的.findall(r'')功能,但主要是要避免選擇5位數的序列號。
真誠,
請問你的findall擺在首位的工作?請發佈完整的正則表達式。 –
我會將其添加到原始問題線程。 –
如果你能用簡單的英語解釋你需要匹配的是什麼,我會更樂意幫助你。日期時間可以用很多格式編寫,所以不知道你在用什麼工作很難。 – kpie