- 892 名前:816 mailto:sage [2006/10/26(木) 06:45:53 ID:XApi7DgO0]
- >>880-881
乙です。 フラグを使って二回目以降のマッチングをキャンセルさせたんですね、早速プロファイルで テストしたらバッチリでした。 グローバル変数を使うことで若干の速度低下はありますが安心して 使えるのでこちらのほうがいいですね、GJ。 自分も何通りかの回避策を考えていたんですが今までに出たフィルターより酷いものしか思い付かず 全部ボツになりました。 一番有力だったのが>>851のフィルターに分岐をもう1つ付けた↓の案です。 (^(^[0-8]9+(^[0-9])))$LST(Num-plus)(9$SET(#=0))+ | (^(^9))$SET(#=1)(9$SET(#=0))+(^[0-9]) | (9+{1,*})\0 マッチングが3つ目の分岐に来る時は対象の数字が "999....9[0-8]" (←0〜8のどれか) ...のはずなので、 "999..." の部分を単独で消費させ、次のマッチングテストを [0-8] のところから再開させようという狙いでした。 しかしマッチ回数が増えると返って遅くなったりデバックモードが見づらくなるなどの副作用が激しい上に \0 か \@ のどちらを出力するかのフラグも必要になるので諦めました。 >全角文字 → 半角文字 グローバル変数も使い方次第ですね、とても参考になりました。 >>883 乙。
|

|