思いこみ禁物 - Note @ Temporary-Depotで触れられていた、Perl・PHP・JavaScriptそれぞれにおける正規表現マッチの動作の違いが気になったので、自分でも確認してみました。 PHPでPerlと同じ動作にならなかったのは、例えば $v = 'http://localhost/' だった時に、"/^$v/" で展開された正規表現パターンが /^http://localhost// となってしまうからだと思います。正規表現を囲うための文字(デリミタ)が、パターンの中にもそのまま現れているので、正規表現のパターンとして正しく読み取れなくなっているようです。 ※ 自分が確認に使った環境(PHP 4.3.6)では、"Warning: Unknown modifier '/' in ..." というメッセージが出ていました。 PHPのマニュアルによると、スラッシュ(/)以