[問題] match 全部大寫且含空白的字串

看板RegExp (正規表示式 Regular Expression)作者 (海洋)時間10年前 (2015/03/31 05:09), 編輯推噓3(301)
留言4則, 3人參與, 最新討論串1/1
使用的是 Python 3.4 字串格式如: Ahearne M, 1999, INT J RES MARK, V16, P269, DOI 10.1016/S0167-8116(99)00014-2 欄位是以逗號分隔,所以資料分別為 author, year, paper, volumn, page, doi 因為有些資料會缺欄位(例如沒有year或volumn...) 所以用 str.split(',') 的話可能會有不同筆資料欄位不同的問題 paper 這個欄位一定是全部都大寫 因此想用正規式來抓取,但目前功力有限, 試了很久一直寫不出有效的規則 請各位高手指教 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 149.159.27.253 ※ 文章網址: https://www.ptt.cc/bbs/RegExp/M.1427749750.A.513.html

03/31 08:50, , 1F
re.search(",([A-Z ]+),",string).group(1) 這樣?
03/31 08:50, 1F

03/31 10:41, , 2F
謝樓上。可行,之後要再加工把前後的 , 移除掉就可以
03/31 10:41, 2F

03/31 13:08, , 3F
.group(1) 就是抓出第一組 () 了, 應該不需要移掉逗號
03/31 13:08, 3F

04/09 01:15, , 4F
"(?<=,)[A-Z ]+(?=,)" 這樣group(0)就直接是內容XD
04/09 01:15, 4F
文章代碼(AID): #1L6RjsKJ (RegExp)
文章代碼(AID): #1L6RjsKJ (RegExp)