Fw: [問題] [年月日...] 的 regular expression
有string如下,大致上就是允許「年月日」這樣的順序,
有時可以沒有年,有時可以沒有日,但若是「年-日」
就應拆分成兩個日期。
我亂try 了一下,不太寫的出來,最像樣的如下。但「4年」
竟然抓不到,所以是錯的。6年7日也沒分開。
import re
string = '1月 1日 2年 2月 2 日 3年3月 4年 5年5月 6年 7日'
match = re.findall('([\d\s]+年)*([\d\s]+月)*([\d\s]+日)*', string)
print(match)
執行結果
>>>
[('', '1月', ' 1日'), (' 2年', ' 2月', ' 2 日'),
(' 3年', '3月', ''), (' 5年', '5月', ''),
(' 6年', '', ' 7日'), ('', '', '')]
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.136.83.16
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1469975924.A.007.html
※ 發信站: 批踢踢實業坊(ptt.cc)
※ 轉錄者: ggirls (114.136.83.16), 07/31/2016 23:25:29
※ 編輯: ggirls (114.136.83.16), 07/31/2016 23:36:28
推
08/01 01:38, , 1F
08/01 01:38, 1F
→
08/01 01:38, , 2F
08/01 01:38, 2F
→
08/01 01:45, , 3F
08/01 01:45, 3F
→
08/01 01:46, , 4F
08/01 01:46, 4F
→
08/01 02:25, , 5F
08/01 02:25, 5F
→
08/01 02:25, , 6F
08/01 02:25, 6F
推
08/01 22:48, , 7F
08/01 22:48, 7F
→
08/01 22:48, , 8F
08/01 22:48, 8F
→
08/02 09:29, , 9F
08/02 09:29, 9F
→
08/02 09:31, , 10F
08/02 09:31, 10F
→
08/02 09:31, , 11F
08/02 09:31, 11F
※ 編輯: ggirls (42.72.25.216), 08/02/2016 09:35:03
→
08/02 09:35, , 12F
08/02 09:35, 12F
※ 編輯: ggirls (42.72.25.216), 08/02/2016 11:45:55
推
08/02 16:40, , 13F
08/02 16:40, 13F
→
08/02 16:40, , 14F
08/02 16:40, 14F
→
08/02 16:41, , 15F
08/02 16:41, 15F
→
08/02 17:55, , 16F
08/02 17:55, 16F
→
08/02 17:55, , 17F
08/02 17:55, 17F
→
08/02 17:56, , 18F
08/02 17:56, 18F
→
08/02 17:58, , 19F
08/02 17:58, 19F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
RegExp 近期熱門文章
PTT數位生活區 即時熱門文章