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