正規表現はスクリプト言語などで広く使われているが,既存の処理系の多くはバックトラックを用いてこのマッチング処理を実装しており,最悪時の効率が悪い.実用的な様々な拡張を加えた正規表現に対するマッチングアルゴリズム,特に,文字列置換等の用途で用いられる「部分マッチの取り出し」を行えるアルゴリズムが望まれる.本論文では多くの処理系で利用可能な「先読み・否定先読み」をもつ正規表現の有限状態オートマトンへの変換を示す.まず,先読み・否定先読みを持つ大きさmの正規表現を状態数O(22m)の決定的有限オートマトンに変換する手法を示す.次に,部分マッチの取り出しを扱うため,重み付き正規表現を議論する.そして先読み・否定先読みを持つ大きさmの重み付き正規表現を状態数O(22m)の重み付き非決定的有限オートマトンに変換する手法を示す.これらのオートマトンにより効率の良いマッチングを達成できる.