.net正则表达式的字符串替换解决方案

.net正则表达式的字符串替换
字符串后面如果跟数字的话就不替换,如果是其他字母或符合就替换如何做,比如"****123","****asdf",第二个符合标准,替换成了“asdf”,而第一个不动,用Regex.Replace能不能实现
------解决思路----------------------

string txt = Regex.Replace(txt, @"(?i)****(\D+)", "$1");

------解决思路----------------------
\D范围太大,谨慎使用

string txt = Regex.Replace(txt, @"(?i)(?<=****)[a-z]+", "");