この場合、量指定子は関係ないんじゃないの?

・「C:\aaaa\bbbb\hogehoge.txt」に対して「(?=\.txt)」をマッチさせると e と . の間の一箇所のみがマッチ
 →[^\\]+ を欲張りにマッチさせて「hogehoge」
・「C:\aaaa\bbbb\hogehoge.txt」に対して「(?!\.txt)」をマッチさせると e と . の間以外のすべてがマッチ
 →[^\\]+ を欲張りにマッチさせて「hogehoge.txt」(t と行末の間までマッチ)

ってことじゃないのかな