Internet Explorer 10 では、次のようになります。
'abcdefghi'.match(/.?e.?/)
予想どおり と評価されます['def']
が、Firefox 21.0 では と評価され['abcdefghi']
ます。(この jsFiddleを参照してください。) and などのオプションのコンテンツで開始および終了する他の特定の正規表現についても、同じような予期しない動作が発生/.?e.{0,2}/
し/.{0,2}e.{0,2}/
ます。ただし、コメンターは、影響を受けない/\S?e\S?/
やなどのさまざまな同様の正規表現を指摘し/(?:.?e.?)/
ています。方法についても同様です。replace
明らかな何かが欠けていますか?この動作には深い理由がありますか?