Regex zamienia tekst, ale wyklucza, gdy tekst znajduje się między określonym znacznikiem

Mam następujący ciąg:

Lorem ipsum Test dolor sit amet, consetetur sadipscing elitr, sed diam nonumy <a href="http://Test.com/url">Test</a> eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd sed Test dolores et ea rebum. Stet clita kasd gubergren, no sea <a href="http://url.com">Test xyz</a> takimata sanctus est Lorem ipsum dolor sit amet.

Teraz zamieniłbym ciąg „Test” poza znaczniki, a nie pomiędzy znacznikami (np. Zastąpiony przez „1234”).

Lorem ipsum 1234 dolor sit amet, consetetur sadipscing elitr, sed diam nonumy <a href="http://Test.com/url">Test</a> eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd sed 1234 dolores et ea rebum. Stet clita kasd gubergren, no sea <a href="http://url.com">Test xyz</a> takimata sanctus est Lorem ipsum dolor sit amet.

Zacząłem od tego wyrażenia regularnego:(?!<a[^>]*>)(Test)([^<])(?!</a>)

Ale nie rozwiązano dwóch problemów:

Tekst „Test” zostanie również zastąpiony w tagach (np.)Czy tekst między tagiem nie pasuje dokładnie do szukanego tekstu, zostanie również zastąpiony (np.<a href="http://url">Test xyz</a>)

Mam nadzieję, że ktoś ma rozwiązanie tego problemu.

questionAnswers(4)

yourAnswerToTheQuestion