- 851 名前:think ◆MM0nnAOCiQ mailto:sage [2006/10/23(月) 20:47:43 ID:LNHCxGv10]
- あれからもう一度、初心に返って考え直してみたら、驚くほどスリムなフィルタになりました。
[Patterns] Name = "number +1 [Match ver] [2006/10/23] beta1" Active = TRUE Limit = 32767 Match = "(^(^[0-8]9+(^[0-9])))$LST(Num-plus)(9$SET(#=0))+|" "(^(^9))$SET(#=1)(9$SET(#=0))+(^[0-9])" Replace = "\@" Name = "number +1 [$TST ver] [2006/10/23] beta1" Active = TRUE Limit = 32767 Match = "([0-9]+)\0(^[0-9])(" "$TST(\0=\#(^(^[0-8]9+(^?)))$LST(Num-plus)(9$SET(#=0))+)|" "$TST(\0=$SET(#=1)(?$SET(#=0))+))" Replace = "\@" >842のアドバイスを受けて、ブロックリスト(Num-plus)から "9$SET(#=0)" を外し、更に ([0-9]++)\# を省きました。 >839で紹介した「数値の末尾のみにマッチさせる (必要な箇所だけ最短一致)」の応用形です。 我ながら、高速でシンプルなフィルタに仕上がったと思います。
|

|