※ 引述《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
就必须加回?
但是这样第一组就又失效了
要同时符合两组
你要从放弃.*?的方向去做(我是这样做出来)
不过或许板上有人可以从.*?做出来