[問題] 比對集數用regexp?

看板RegExp (正規表示式 Regular Expression)作者 (cralvin)時間13年前 (2011/11/10 03:58), 編輯推噓1(104)
留言5則, 1人參與, 最新討論串1/2 (看更多)
像輸入 Heart 2 Heart.*?[^1-9]?2[\D]*$ 用[^1-9],看第二行,02也應符合 [\D]是2後面不要有任一數字、像20、22 應該只有前三行match 請問是那出錯了? thx Heart vol.2(Angel Beats!) Heart vol.02(Angel Beats!) Heart vol.2 Heart vol.12(Angel Beats!) Heart vol212(Angel Beats!) Heart vol22(Angel Beats!) Heart vol.22 Heart vol22 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.242.12.177 ※ 編輯: vernc 來自: 111.242.12.177 (11/10 04:08)

11/10 04:15, , 1F
以第四行為例 .*? 抓到了 " vol.1"
11/10 04:15, 1F

11/10 04:16, , 2F
如果你只要給 2 和 02 過的話→ Heart.*?[^0-9]0?2[\D]*$
11/10 04:16, 2F

11/10 04:17, , 3F
你需要給兩個部份一個明確的分界點 (以上一行為例即[^0-9])
11/10 04:17, 3F

11/10 04:18, , 4F
如果這個分界點多了 ? 的話就會變成它可以是空字串
11/10 04:18, 4F

11/10 04:18, , 5F
因此就會劃在你意想不到的位置 (像第四行就是在 1 2 之間)
11/10 04:18, 5F
sorry,這樣又出現新問題 一二沒問題、三四沒間隔過不了@@ Heart vol.2(Angel Beats!) Heart vol.02(Angel Beats!) Heart02(Angel Beats!) Heart2 ※ 編輯: vernc 來自: 111.242.12.177 (11/10 04:26)
文章代碼(AID): #1EkjjO0- (RegExp)
討論串 (同標題文章)
文章代碼(AID): #1EkjjO0- (RegExp)