「x(?!y)」は、正規表現 y がマッチングしないときのみ正規表現 x を評価します。
「x(?=y)」とは異なり、正規表現 y がマッチングしないことが条件になっています。
// 検索対象文字列
var str = "tag01 Tag123 TAGabc";
// 検索実行および結果出力
document.write("「[A-Za-z]{3}(?![a-z])」で抽出結果: ", str.match(/[A-Za-z]{3}(?![a-z])/));
document.write("<br>「[A-Za-z]{3}(?![0-9])」で抽出結果: ", str.match(/[A-Za-z]{3}(?![0-9])/));