作者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
推 vernc:如此下面會pass@@ 11/10 17:43
→ vernc:Heart vol.202(Angel Beats!) 11/10 17:44
→ PurpleCrow:所以說,你可否說清楚題目是什麼?萬一這個成功排除了,又 11/10 19:55
→ PurpleCrow:來一個新的? 11/10 19:55
→ PurpleCrow:而且新的會pass是只用你原本的然後修改的才會 11/10 20:02
→ PurpleCrow:我自己的pattern一樣排除 11/10 20:04
推 vernc:自己的pattern是? 11/10 20:45
→ vernc:題目Heart.*(2|02).*,只有2or02pass,12 22 202 222都不行 11/10 21:08
→ PurpleCrow:這樣不就很簡單了嗎?只能有一組(2|02),(2|02)前後都不 11/10 21:23
→ PurpleCrow:能有其他數字,題目幾乎就是答案了.我建議你可以想一下 11/10 21:24
→ PurpleCrow:真的想不出來再私信給我 11/10 21:25
→ blackkaku:Heart\D*(2|02)\D*$ 11/11 20:36