Re: [問題] 比對集數用regexp?

作者: PurpleCrow (17868)   2011-11-10 16:07:08
※ 引述《vernc (cralvin)》之銘言:
: 像輸入 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
是要取第一組前3和第二組全部嗎?
把你本來的拿掉一個?, [\D]=\D
Heart.*?[^1-9]2\D*$
第一組就可以符合你的預期
第二組只能符合前3
要符合Heart2
就必須加回?
但是這樣第一組就又失效了
要同時符合兩組
你要從放棄.*?的方向去做(我是這樣做出來)
不過或許板上有人可以從.*?做出來
作者: vernc (cralvin)   2010-01-10 17:43:00
如此下面會pass@@Heart vol.202(Angel Beats!)
作者: PurpleCrow (17868)   2010-01-10 19:55:00
所以說,你可否說清楚題目是什麼?萬一這個成功排除了,又來一個新的?而且新的會pass是只用你原本的然後修改的才會我自己的pattern一樣排除
作者: vernc (cralvin)   2010-01-10 20:45:00
自己的pattern是?題目Heart.*(2|02).*,只有2or02pass,12 22 202 222都不行
作者: PurpleCrow (17868)   2010-01-10 21:23:00
這樣不就很簡單了嗎?只能有一組(2|02),(2|02)前後都不能有其他數字,題目幾乎就是答案了.我建議你可以想一下真的想不出來再私信給我
作者: blackkaku (black)   2010-01-11 20:36:00
Heart\D*(2|02)\D*$

Links booklink

Contact Us: admin [ a t ] ucptt.com