最短一致が2つあると思うように機能しません。

preg_match("/<p.*?NGWORD.*?<\/p>/", "<p id=A><p id=B><a >NGWORD</a></p></p>", $r);

結果:<p id=A><p id=B><a >NGWORD</a></p>

id=Aは余分です。こういうものなのでしょうか?
さくらで試したのでphp4だと思います。