作者PurpleCrow (紫乌鸦)
看板RegExp
标题Re: [问题] 比对集数用regexp?
时间Thu Nov 10 16:07:08 2011
※ 引述《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
就必须加回?
但是这样第一组就又失效了
要同时符合两组
你要从放弃.*?的方向去做(我是这样做出来)
不过或许板上有人可以从.*?做出来
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 60.248.18.139
1F:推 vernc:如此下面会pass@@ 11/10 17:43
2F:→ vernc:Heart vol.202(Angel Beats!) 11/10 17:44
3F:→ PurpleCrow:所以说,你可否说清楚题目是什麽?万一这个成功排除了,又 11/10 19:55
4F:→ PurpleCrow:来一个新的? 11/10 19:55
5F:→ PurpleCrow:而且新的会pass是只用你原本的然後修改的才会 11/10 20:02
6F:→ PurpleCrow:我自己的pattern一样排除 11/10 20:04
7F:推 vernc:自己的pattern是? 11/10 20:45
8F:→ vernc:题目Heart.*(2|02).*,只有2or02pass,12 22 202 222都不行 11/10 21:08
9F:→ PurpleCrow:这样不就很简单了吗?只能有一组(2|02),(2|02)前後都不 11/10 21:23
10F:→ PurpleCrow:能有其他数字,题目几乎就是答案了.我建议你可以想一下 11/10 21:24
11F:→ PurpleCrow:真的想不出来再私信给我 11/10 21:25
12F:→ blackkaku:Heart\D*(2|02)\D*$ 11/11 20:36