[問題] 比對集數用regexp?

作者: vernc (cralvin)   2011-11-10 03:58:13
像輸入 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
作者: LPH66 (-6.2598534e+18f)   2010-01-10 04:15:00
以第四行為例 .*? 抓到了 " vol.1"如果你只要給 2 和 02 過的話→ Heart.*?[^0-9]0?2[\D]*$你需要給兩個部份一個明確的分界點 (以上一行為例即[^0-9])如果這個分界點多了 ? 的話就會變成它可以是空字串因此就會劃在你意想不到的位置 (像第四行就是在 1 2 之間)

Links booklink

Contact Us: admin [ a t ] ucptt.com