[问题] 比对集数用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